找回密码
 加入
搜索
查看: 2459|回复: 5

[AU3基础] [已解决]请教高手如何将某个文本文件的每一行加上一串内容

  [复制链接]
发表于 2010-10-29 15:12:26 | 显示全部楼层 |阅读模式
本帖最后由 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有没有什么简洁的代码可以实现。

评分

参与人数 1金钱 +10 收起 理由
afan + 10 感谢主动将修改帖子分类为[已解决],请继续 ...

查看全部评分

发表于 2010-10-29 15:35:06 | 显示全部楼层
高效不知道,偶就知道把文件打开,filereadline读入,然后加上字符串,最后再保存....
发表于 2010-10-29 19:21:39 | 显示全部楼层
本帖最后由 kingfirekkk 于 2010-10-29 19:29 编辑

感觉用正则式可以实现这个功能,比如说在换行符后面再加一个变量即可...建议请Afan版主帮忙..
发表于 2010-10-29 19:37:19 | 显示全部楼层
本帖最后由 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[0]
  $aA[$i] = $aA[$i] & '123456789'
next
fileopen($file, 2)
fileclose($file)
_ArrayDelete($aA, 0)
_filewritefromarray($file, $aA)

评分

参与人数 1金钱 +20 收起 理由
afan + 20

查看全部评分

发表于 2010-10-30 07:40:42 | 显示全部楼层
回复 4# netegg


    我顶, 这是个好方法。
发表于 2010-10-30 13:06:05 | 显示全部楼层
这个用正则简单极了
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)

评分

参与人数 1金钱 +5 收起 理由
netegg + 5

查看全部评分

 楼主| 发表于 2010-10-30 13:50:27 | 显示全部楼层
afan的正则已经用到走火入魔的程度了
发表于 2010-10-30 17:34:54 | 显示全部楼层
神了噢噢噢噢
您需要登录后才可以回帖 登录 | 加入

本版积分规则

QQ|手机版|小黑屋|AUTOIT CN ( 鲁ICP备19019924号-1 )谷歌 百度

GMT+8, 2024-10-3 02:18 , Processed in 0.075870 second(s), 23 queries .

Powered by Discuz! X3.5 Licensed

© 2001-2024 Discuz! Team.

快速回复 返回顶部 返回列表