监控文件更改

时间:2010-12-19 09:43:11

标签: command-line vbscript

Call CreateObject("WScript.Shell").Run(some.exe,0,False)

我正在使用该行调用返回一些文本的.exe,但也可以将其写入文件。

我会使用.Exec代替.Run直接获取结果,但脚本会挂起。

我真的不希望定时器检查是否创建或修改了输出文件。

我需要的是以某种方式捕捉事件的方法。任何想法?

1 个答案:

答案 0 :(得分:0)

既然你提到它可能会返回它或将它写入文件,那是否意味着在进程写入文件后它会退出?

如果是这样,您可以调用Shell.Run方法,并将bWaitOnReturn参数设置为True,并且您的脚本会在继续之前等待该过程完成。

否则,如果进程可能写入文件然后仍然继续运行,那么我认为你必须轮询以检查它是否存在,或者你可能创建一个使用{{3的C#或VB.Net exe (或使用API​​ FindFirstChangeNotification的普通Win32 exe)查找文件的创建,当它找到一个文件立即存在时,然后您可以在bWaitOnReturn设置为{的情况下运行该过程{1}},但这可能只是让事情过于复杂。