Мониторинг изменений файла - PullRequest
1 голос
/ 19 декабря 2010
Call CreateObject("WScript.Shell").Run(some.exe,0,False)

Я использую эту строку для вызова .exe, который возвращает некоторый текст, но также может записать его в файл.

Я бы использовал .Exec вместо .Run, чтобы получитьрезультаты напрямую, но затем скрипт зависает.

Я действительно не хочу, чтобы таймер проверял, создан или изменен выходной файл.

Мне нужен способ как-то перехватить событие,Есть идеи?

1 Ответ

0 голосов
/ 20 декабря 2010

Поскольку вы упоминаете, что он может либо вернуть его, либо записать в файл, означает ли это, что после записи процесса в файл он выйдет?

Если это так, вы можете просто вызвать метод Shell.Run с параметром bWaitOnReturn, установленным в True, и ваш сценарий будет ожидать завершения процесса, прежде чем он продолжится.

В противном случае, если процесс может записать файл и затем продолжить работу, я думаю, что вам придется опросить, чтобы проверить, существует ли он, или, возможно, вы могли бы создать exe-файл на C # или VB.Net, который использует FileSystemWatcher (или обычный Win32 exe, который использует API FindFirstChangeNotification) для поиска создания файла, и когда он находит его, он сразу же существует, и затем вы можете запустить этот процесс с bWaitOnReturn, установленным на True , но это, вероятно, просто усложняет вещи.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...