搜索文件时,出现死循环?
本帖最后由 天堂泪吻泪 于 2009-10-25 23:40 编辑在下在搜索桌面的快捷方式时,搜索完了,还出现
这样的一个死循环?怎么会这样的?$link=FileFindFirstFile(@DesktopDir&"\*.lnk")
If $link=-1 Then
MsgBox(64,"","Error")
Exit
EndIf
While 1
$link_name=FileFindNextFile($link)
MsgBox(64,"",$link_name)
If @error and $link_name="" Then ExitLoop
WEnd
FileClose($link) # MsgBox(64,"",$link_name)
# If @error and $link_name="" Then ExitLoop
把这两行调换一下位置,应该可以了 # MsgBox(64,"",$link_name)
# If @error and $link_name="" Then ExitLoop
把这两行调换一下位置,应该可以了
netegg 发表于 2009-10-24 01:19 http://www.autoitx.com/images/common/back.gif
非常同意 2# netegg
在下现在在工作的地方,不方便试!回家一定会试试看的!
还有一个问题,那为什么调换位置应该就可以呢?当文件搜索失败,@error=1,还有加了一个$link_name="",加了两个判断,While应该就会ExitLoop的了!
那有没有@error.和$link_name有没有为空!还是Then后面的ExitLoop没有生效! 你这个@error错误码是获取msgbox的!不是FileFindNextFile
另外也没必要使用and $link_name="" 5# 破帽遮颜
明白了,也就是说,@error在FileFindNextFile下面的话就会获取FileFindNextFile的错误码! 你这么理解吧----按原来的顺序是指在退出循环之前不管有没有错都会有一个msgbox跳出来
不考虑使用子函数,脚本是一句一句按顺序执行的
页:
[1]