如何监视一个文件夹,一旦文件夹中有exe文件就能获取其文件名
本帖最后由 haorui658 于 2010-1-19 21:10 编辑如题,监视文件夹,文件夹的路径已知,当文件夹内只有一个文件,且该文件为可执行文件时,获取其文件名.以此来达到自动化执行的目的. 这样应该可以吧!$Path = @ScriptDir&'\hotfix'
$search = FileFindFirstFile($Path&'\*.exe')
If $search = -1 Then
MsgBox(0, "错误", "没有文件/目录 匹配搜索")
Exit
EndIf
While 1
$file = FileFindNextFile($search)
If @error Then ExitLoop
MsgBox(4096, "发现可执行文件!", $file)
WEnd
FileClose($search) 这样应该可以吧!
水木子 发表于 2010-1-19 09:38 http://www.autoitx.com/images/common/back.gif
会使CPU使用率占用过高吧??? 本帖最后由 maxkingmax 于 2010-1-19 12:43 编辑
#include<file.au3>
$path= @ScriptDir&'\hotfix'
While 1
Sleep(1000)
$exearray=_FileListToArray($path,"*.exe",1)
If IsArray($exearray) Then
For $i=1 To $exearray
MsgBox(0,"Find exe file "&$i,$path&'\'&$exearray[$i],3)
Next
EndIf
WEnd 本帖最后由 haorui658 于 2010-1-19 12:59 编辑
回复 4# maxkingmax
谢谢你们的回答,在监视的同时本程序还在运行做其他的事,但是一旦发现该目录有执行文件就执行这个文件.最好能给出思路和关键函数,能给出示例的源码更好. 回复 5# haorui658
AdlibRegister ( "监视函数" ) #include<file.au3>
$path= @ScriptDir&'\hotfix'
AdlibRegister("autorunexe",5000) ;5秒钟检查一下指定目录,有EXe就执行
While 1
Sleep(100);让程序做其他的事吧
WEnd
Func autorunexe()
$exearray=_FileListToArray($path,"*.exe",1)
If IsArray($exearray) Then
For $i=1 To $exearray
Run($path&'\'&$exearray[$i])
Next
EndIf
EndFunc 条条大路通罗马 本帖最后由 haorui658 于 2010-1-19 21:10 编辑
恩 感谢maxkingmax这就是我想要的,到时实验一下 呵呵 OK 没有问题 感谢所有给我提供过帮助的人 感谢以上的大侠 进来 学习一下! 学习~已经收藏 有用到..謝謝
页:
[1]