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

[AU3基础] 将多个文件里的内容写入到一个文件里,在线等,谢谢

  [复制链接]
发表于 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))

但不知道为什么不能写入到我指定的文件里,但我选择多个文件后,写的文件为空的,但选择一个文件时,是可以写入的,我查出来是写文件有问题,但不知道怎么解决,请求助
发表于 2011-4-9 22:28:00 | 显示全部楼层
回复 1# carry1986

先将$strFiles转为标准的路径。
 楼主| 发表于 2011-4-9 22:30:11 | 显示全部楼层
回复  carry1986

先将$strFiles转为标准的路径。
republican 发表于 2011-4-9 22:28



怎么转为标准的路径呢?
发表于 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
发表于 2011-4-10 08:28:33 | 显示全部楼层
学习一下,写入文件的方法
发表于 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
您需要登录后才可以回帖 登录 | 加入

本版积分规则

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

GMT+8, 2024-11-15 06:48 , Processed in 0.081742 second(s), 23 queries .

Powered by Discuz! X3.5 Licensed

© 2001-2024 Discuz! Team.

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