找回密码
 加入
搜索
查看: 1211|回复: 4

就差一步,请高手帮我解下IF

[复制链接]
发表于 2009-12-11 19:29:21 | 显示全部楼层 |阅读模式
本帖最后由 290277275 于 2009-12-12 08:35 编辑

搜索当前目录上所有*.LOG文件,并查找LOG文件内“ABC”字符串,当搜到“ABC”运行Q。BAT
当未搜到ABC继续搜索直到搜到为止

; 显示当前目录中所有文件的文件名
$search = FileFindFirstFile("*.log")  

$file = FileFindNextFile($search)

  If StringInStr(FileRead($file), "abc") Then

RunWait ( "q.bat")

Else

     差这一步:当未搜到ABC继续搜索直到搜到为止   

EndIf


; 关闭搜索句柄
FileClose($search)
发表于 2009-12-11 19:54:17 | 显示全部楼层
不可能不成功啊:
$search = FileFindFirstFile("*.*")  
While 1
    $file = FileFindNextFile($search)
    If @error Then ExitLoop  
    MsgBox(4096, "文件:", $file)
WEnd
FileClose($search)
发表于 2009-12-11 20:31:59 | 显示全部楼层
没怎么看懂 不过FileFindFirstFile 是支持通配符的
发表于 2009-12-13 06:49:04 | 显示全部楼层
本帖最后由 netegg 于 2009-12-13 06:55 编辑

#include <File.au3>
$aA = _filelisttoarray("dir", ".log")
for $file in $aA
$retval = _ReplaceStringInFile($file,“ABC”,“ABC”)
if $retval <> 0 then
RunWait ( "q.bat")
endif
next

不太清楚,abc在同一文件有多处的时候是执行多次q.bat还是只执行一次,这段是执行一次,多次的话,改一下循环里的条件
发表于 2009-12-13 08:51:07 | 显示全部楼层
$search = FileFindFirstFile("*.log")  
$file = FileFindNextFile($search)
while 1
If StringInStr(FileRead($file), "abc") Then
RunWait ( "q.bat")
exitloop ;执行完要跳出循环就使用这句
EndIf
wend
FileClose($search)
您需要登录后才可以回帖 登录 | 加入

本版积分规则

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

GMT+8, 2024-11-13 22:40 , Processed in 0.073192 second(s), 23 queries .

Powered by Discuz! X3.5 Licensed

© 2001-2024 Discuz! Team.

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