找回密码
 加入
搜索
查看: 3509|回复: 8

[AU3基础] 请教一个关于文件查找的问题

  [复制链接]
发表于 2011-3-29 00:20:22 | 显示全部楼层 |阅读模式
$flag=FileFindFirstFile("*.rar")
While 1
$file=FileFindNextFile($flag)
If @error Then
        MsgBox(0,"","没有了!")
        Exit
EndIf
MsgBox(0,"",$file)
WEnd

上面的代码可以被正确执行,但是如果将
MsgBox(0,"",$file)
放在IF...endif前面的话,为什么会有无数个"空的"MsgBox()出来呢??最多也应该只是有一个吧??
发表于 2011-3-29 00:23:53 | 显示全部楼层
IF是个判断语句,then才会执行,你放到IF前面就是无限循环了!
发表于 2011-3-29 00:28:42 | 显示全部楼层
楼主 你知道@error 是哪句话的返回值吗
你把位置换了一下 味道直接就变了哦
 楼主| 发表于 2011-3-29 18:09:40 | 显示全部楼层
回复 2# gzh888666

then 后面的语句会不会执行取决于  判断条件 是否成立吧??当函数FileFindNextFile()没有找到下一个匹配的文件时就会将@error置为1,然后执行到if语句,判断条件成立,then的里面的语句就会执行,不是吗?
发表于 2011-3-29 18:33:24 | 显示全部楼层
你那个@error是针对什么的,msgbox的返回值(放前面的情况下)?
 楼主| 发表于 2011-3-29 18:41:30 | 显示全部楼层
回复 5# netegg

我查看了下@error的值,为什么当FileFindNextFile()没有搜索到下一个匹配的文件时,没有把@error的值改成1呢??(这导致了then的语句一直没有被执行,成了死循环了`~)
发表于 2011-3-29 18:41:35 | 显示全部楼层
论坛有例子你有搜索看一下
发表于 2011-3-29 18:44:50 | 显示全部楼层
@error是个宏,不是你琢磨着怎么来就怎么来的,它只跟着紧邻的命令跑
 楼主| 发表于 2011-3-29 23:11:34 | 显示全部楼层
回复 7# xz00311


    那个例子用了好多个会改变@error的函数,我这个除了Filefindnextfile()外,没有其它会改变它的吧??
您需要登录后才可以回帖 登录 | 加入

本版积分规则

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

GMT+8, 2024-11-15 09:39 , Processed in 0.078888 second(s), 23 queries .

Powered by Discuz! X3.5 Licensed

© 2001-2024 Discuz! Team.

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