找回密码
 加入
搜索
查看: 1486|回复: 1

fileopen打开文件出错

[复制链接]
发表于 2009-3-8 22:18:13 | 显示全部楼层 |阅读模式
[au3]
$search = FileFindFirstFile(@WorkingDir&"\test\*.txt")
$out_vcf = FileOpen(@WorkingDir&'\out.txt', 8 + 1)

                                                While 1
                                                        $file = FileFindNextFile($search)
                                                        If @error Then ExitLoop
                                                        $in_vcf = FileOpen($file, 0)
                                                        If $in_vcf = -1 Then
                                                                MsgBox(48, "错误", '打开文件' & $file & '错误!')
                                                        Else
                                                                MsgBox(48, "成功", '打开文件' & $file & '成功!')
                                                                FileWrite($out_vcf, FileRead($in_vcf))
                                                                FileClose($in_vcf)
                                                        EndIf

                                                WEnd
                                                FileClose($out_vcf)
                                               
                                                FileClose($search)
[/au3]

文件我自己手工都可以打开和编辑,偏偏这段代码提示错误,打不开文件。找不到原因。请教高人指点。我觉得不是权限问题。
发表于 2009-3-8 22:33:42 | 显示全部楼层
因为默认的是即使搜索的结果不存在,也会继续的搜索下去.
你没有做搜索开始时候的错误判断,所以会出现问题
多看看帮助文档吧,文档里的例子有写到这个,帮助文档是最好的教材

$search = FileFindFirstFile(@WorkingDir&"\test\*.txt")
If $search = -1 Then
        MsgBox(0, "Error", "No files/directories matched the search pattern")
        Exit
EndIf
$out_vcf = FileOpen(@WorkingDir&'\out.txt', 8 + 1)

                                                While 1
                                                        $file = FileFindNextFile($search)
                                                        If @error Then ExitLoop
                                                        $in_vcf = FileOpen($file, 0)
                                                        If $in_vcf = -1 Then
                                                                MsgBox(48, "错误", '打开文件' & $file & '错误!')
                                                        Else
                                                                MsgBox(48, "成功", '打开文件' & $file & '成功!')
                                                                FileWrite($out_vcf, FileRead($in_vcf))
                                                                FileClose($in_vcf)
                                                        EndIf
                                                WEnd
                                                FileClose($out_vcf)
                                               
                                                FileClose($search)

[ 本帖最后由 xrbenbeba 于 2009-3-8 22:40 编辑 ]
您需要登录后才可以回帖 登录 | 加入

本版积分规则

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

GMT+8, 2024-11-15 11:13 , Processed in 0.073329 second(s), 23 queries .

Powered by Discuz! X3.5 Licensed

© 2001-2024 Discuz! Team.

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