将多个文件里的内容写入到一个文件里,在线等,谢谢
本帖最后由 carry1986 于 2011-4-9 22:40 编辑我写了一个脚本:
#Include <File.au3>
Dim $strFiles = FileOpenDialog("选择一个或多个文本文件",@WindowsDir & "\","文本文档(*.txt)",1+4)
msgbox(0,"test",$strFiles)
;利用时间宏来获取给文件取名
$time = @YEAR&@MON&@MDAY
FileWriteLine($time&'_log.txt',FileRead($strFiles))
但不知道为什么不能写入到我指定的文件里,但我选择多个文件后,写的文件为空的,但选择一个文件时,是可以写入的,我查出来是写文件有问题,但不知道怎么解决,请求助 回复 1# carry1986
先将$strFiles转为标准的路径。 回复carry1986
先将$strFiles转为标准的路径。
republican 发表于 2011-4-9 22:28 http://www.autoitx.com/images/common/back.gif
怎么转为标准的路径呢? 回复 1# carry1986
选择多个文件后,FileOpenDialog的返回值就不是一个单纯的路径,比如你选择了两个文件,返回值是这样的:C:\1.txt|2.txt。这时候你需要先分割得到这两个文件的路径,C:\1.txt和C:\2.txt,然后循环写入。楼主可参考下我写的一个源码:
http://www.autoitx.com/thread-23391-1-1.html 学习一下,写入文件的方法 $message = "按下 Ctrl 或 Shift 键选择多个文件."
$var = FileOpenDialog($message, @WindowsDir & "\", "图像文件 (*.jpg;*.bmp)", 1 + 4 )
If @error Then
MsgBox(4096,"","没有选择文件!")
Else
$var = StringReplace($var, "|", @CRLF)
MsgBox(4096,"","你选择了:" & $var)
EndIf
; 多筛选组
$message = "按下 Ctrl 或 Shift 键选择多个文件."
$var = FileOpenDialog($message, @WindowsDir & "", "图像 (*.jpg;*.bmp)|视频 (*.avi;*.mpg)", 1 + 4 )
If @error Then
MsgBox(4096,"","没有选择文件!")
Else
$var = StringReplace($var, "|", @CRLF)
MsgBox(4096,"","你选择了:" & $var)
EndIf
页:
[1]