Расписание .bat не выполняет VBScript должным образом - PullRequest
1 голос
/ 30 сентября 2011

Итак, у меня есть 2 вещи: программа, которая проверяет состояние некоторых папок, затем VBScript, который впоследствии запускается для получателей электронной почты о любых ошибках, происходящих в указанных папках.Даже если его нет, он должен отправить электронное письмо «Нет ошибок».

Оба они прекрасно работают по отдельности.Программа checker .exe запускается без проблем, и когда я запускаю VBScript сам по себе, он отправляет все электронные письма, которые он должен.Однако я помещаю следующее в файл .bat для ночного запуска в 23:00:

"C:\batch\night_monitor\checker.exe"
"C:\batch\night_monitor\emailer.vbs"

По какой-то причине, когда запускается пакетный файл, выходит только 1 из 5 электронных писем.По умолчанию все флаги установлены в true, и когда я просматриваю файл журнала, я вижу, что emailer.vbs проверяет только 2 журнала ошибок вместо 5. Как я уже сказал, emailer работает отлично, если я простозапустить его самомуЕсть что-то важное, что я здесь упускаю?

Ответы [ 2 ]

3 голосов
/ 30 сентября 2011

Попробуйте это ..

@ECHO OFF
START "Checker" /WAIT "C:\batch\night_monitor\checker.exe"
START "Emailer" /WAIT "C:\batch\night_monitor\emailer.vbs"

Запустите START /? из командной строки, чтобы увидеть все параметры.

1 голос
/ 30 сентября 2011

Кажется, ваш checker.exe не завершен, когда emailer.vbs .

Попробуйте запустить ваши программы в последовательности:

"C:\batch\night_monitor\checker.exe" & "C:\batch\night_monitor\emailer.vbs"

... или выполнить emailer.vbs только в том случае, если checker.exe выполнено успешно:

"C:\batch\night_monitor\checker.exe" && "C:\batch\night_monitor\emailer.vbs"

Другой альтернативой будет вызов checker.exe изнутри emailer.vbs, чтобы убедиться, что он завершился доВы получаете доступ к журналам ошибок.

...