carry1986 发表于 2011-4-9 22:14:59

将多个文件里的内容写入到一个文件里,在线等,谢谢

本帖最后由 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))

但不知道为什么不能写入到我指定的文件里,但我选择多个文件后,写的文件为空的,但选择一个文件时,是可以写入的,我查出来是写文件有问题,但不知道怎么解决,请求助

republican 发表于 2011-4-9 22:28:00

回复 1# carry1986

先将$strFiles转为标准的路径。

carry1986 发表于 2011-4-9 22:30:11

回复carry1986

先将$strFiles转为标准的路径。
republican 发表于 2011-4-9 22:28 http://www.autoitx.com/images/common/back.gif


怎么转为标准的路径呢?

papapa314 发表于 2011-4-10 02:14:40

回复 1# carry1986


    选择多个文件后,FileOpenDialog的返回值就不是一个单纯的路径,比如你选择了两个文件,返回值是这样的:C:\1.txt|2.txt。这时候你需要先分割得到这两个文件的路径,C:\1.txt和C:\2.txt,然后循环写入。楼主可参考下我写的一个源码:
http://www.autoitx.com/thread-23391-1-1.html

kadingxiaodi 发表于 2011-4-10 08:28:33

学习一下,写入文件的方法

love5173 发表于 2011-4-10 11:21:15

$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]
查看完整版本: 将多个文件里的内容写入到一个文件里,在线等,谢谢