找回密码
 加入
搜索
查看: 1302|回复: 6

搜索文件时,出现死循环?

[复制链接]
发表于 2009-10-24 00:13:51 | 显示全部楼层 |阅读模式
本帖最后由 天堂泪吻泪 于 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)

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?加入

×
发表于 2009-10-24 01:19:42 | 显示全部楼层
#         MsgBox(64,"",$link_name)
#         If @error and $link_name="" Then ExitLoop
把这两行调换一下位置,应该可以了
发表于 2009-10-24 08:22:10 | 显示全部楼层
#         MsgBox(64,"",$link_name)
#         If @error and $link_name="" Then ExitLoop
把这两行调换一下位置,应该可以了
netegg 发表于 2009-10-24 01:19

非常同意
 楼主| 发表于 2009-10-25 12:26:17 | 显示全部楼层
2# netegg

在下现在在工作的地方,不方便试!回家一定会试试看的!

还有一个问题,那为什么调换位置应该就可以呢?当文件搜索失败,@error=1,还有加了一个$link_name="",加了两个判断,While应该就会ExitLoop的了!
那有没有@error.和$link_name有没有为空!还是Then后面的ExitLoop没有生效!
发表于 2009-10-25 13:49:05 | 显示全部楼层
你这个@error错误码是获取msgbox的!不是FileFindNextFile

另外也没必要使用and $link_name=""
 楼主| 发表于 2009-10-25 23:40:21 | 显示全部楼层
5# 破帽遮颜

明白了,也就是说,@error在FileFindNextFile下面的话就会获取FileFindNextFile的错误码!
发表于 2009-10-26 00:59:03 | 显示全部楼层
你这么理解吧----按原来的顺序是指在退出循环之前不管有没有错都会有一个msgbox跳出来
不考虑使用子函数,脚本是一句一句按顺序执行的
您需要登录后才可以回帖 登录 | 加入

本版积分规则

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

GMT+8, 2024-5-18 15:18 , Processed in 0.082598 second(s), 21 queries .

Powered by Discuz! X3.5 Licensed

© 2001-2024 Discuz! Team.

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