Я хочу начать процесс с командного файла, и если он возвращает ненулевое значение, сделайте что-нибудь еще. Мне нужен правильный синтаксис для этого.Проверьте, возвращает ли процесс 0 командный файл
Что-то вроде этого:
::x.bat
@set RetCode=My.exe
@if %retcode% is nonzero
handleError.exe
В качестве бонуса, вы можете рассмотреть ответы на следующие вопросы, пожалуйста :)
- Как написать составную инструкцию с
if
? - Если приложение
My.exe
не запускается, потому что некоторая DLL отсутствует, будет ли моя работа работать? Если нет, как я могу обнаружить, чтоMy.exe
не удалось запустить?
, но не проверяет ли это код возврата в точности 1 ? – 2010-12-15 14:42:40
@Armen: Вот почему вам нужно проверить коды возврата в * обратном порядке. Начните с максимально возможного числа и спуститесь к нулю. Изменить: я только понял, что ваш вопрос спрашивает, как проверить, является ли код возврата * ненулевым *. В этом случае `ERRORLEVEL` именно то, что вы хотите. Сообщение, опубликованное Eduard, вернет TRUE, если код возврата равен или превышает указанное значение. – 2010-12-15 14:46:28
Вы имеете в виду, что нет возможности напрямую проверить, что какая-то переменная не равна некоторому значению? – 2010-12-15 14:47:20