Call CreateObject("WScript.Shell").Run(some.exe,0,False)
我正在使用该行调用返回一些文本的.exe,但也可以将其写入文件。
我会使用.Exec
代替.Run
直接获取结果,但脚本会挂起。
我真的不希望定时器检查是否创建或修改了输出文件。
我需要的是以某种方式捕捉事件的方法。任何想法?
答案 0 :(得分:0)
既然你提到它可能会返回它或将它写入文件,那是否意味着在进程写入文件后它会退出?
如果是这样,您可以调用Shell.Run方法,并将bWaitOnReturn
参数设置为True
,并且您的脚本会在继续之前等待该过程完成。
否则,如果进程可能写入文件然后仍然继续运行,那么我认为你必须轮询以检查它是否存在,或者你可能创建一个使用{{3的C#或VB.Net exe (或使用API FindFirstChangeNotification
的普通Win32 exe)查找文件的创建,当它找到一个文件立即存在时,然后您可以在bWaitOnReturn
设置为{的情况下运行该过程{1}},但这可能只是让事情过于复杂。