[已解决]请教高手如何将某个文本文件的每一行加上一串内容
本帖最后由 elexy 于 2010-10-30 09:06 编辑set arg=WScript.Arguments
if arg.count=0 then
msgbox "Usage:"&vbcrlf&vbcrlf&" 不要直接运行这个脚本,把需要进行字符串替换的一个或多个文件拖曳到这个脚本文件上来就可以了。"
wscript.quit
end if
set fso=wscript.createobject("scripting.filesystemobject")
set fr=fso.opentextfile(arg(0),1)
set fw=fso.createtextfile("temp.txt",2)
data=inputbox("请输入在行前添加的字符:")
do
fw.writeline(data&fr.readline)
loop until fr.atendofstream
fr.close
fw.close
set fr=fso.opentextfile("temp.txt",1)
set fw=fso.createtextfile(arg(0),2)
do
fw.writeline(fr.readline)
loop until fr.atendofstream
fr.close
fw.close
fso.deletefile("temp.txt")
这个VBS可以实现,但是不知道AU3有没有什么简洁的代码可以实现。 高效不知道,偶就知道把文件打开,filereadline读入,然后加上字符串,最后再保存.... 本帖最后由 kingfirekkk 于 2010-10-29 19:29 编辑
感觉用正则式可以实现这个功能,比如说在换行符后面再加一个变量即可...建议请Afan版主帮忙.. 本帖最后由 netegg 于 2010-10-29 19:42 编辑
#include<file.au3>
#include<array.au3>
Dim $file = @ScriptDir & "\1.txt", $aA
_filereadtoarray($file, $aA)
for $i = 1 to $aA
$aA[$i] = $aA[$i] & '123456789'
next
fileopen($file, 2)
fileclose($file)
_ArrayDelete($aA, 0)
_filewritefromarray($file, $aA) 回复 4# netegg
我顶, 这是个好方法。 这个用正则简单极了Local $File = '1.txt', $str = FileRead($File), $hq = '行前添加的字符'
Local $str1 = StringRegExpReplace($str, '([^\r\n]+)', $hq & '$1')
FileDelete($File)
If FileWrite($File, $str1) Then ShellExecute($File) afan的正则已经用到走火入魔的程度了 神了噢噢噢噢
页:
[1]