Получить код ошибки из командного файла - PullRequest
33 голосов
/ 10 августа 2010

У меня есть пакетный файл, который запускает несколько исполняемых файлов, и я хочу, чтобы он завершился успешно, но остановился, если код выхода <> 0. Как мне это сделать?

Ответы [ 2 ]

41 голосов
/ 10 августа 2010

Звучит так, будто вам нужна команда «If Errorlevel».Предполагая, что ваш исполняемый файл возвращает код завершения, отличный от 0, при сбое вы делаете что-то вроде:

myProgram.exe
if errorlevel 1 goto somethingbad
echo Success!
exit
:somethingbad
echo Something Bad Happened.

Проверка уровня ошибки выполняется как проверка большего или равного, поэтому любое значение выхода не из 0 вызоветПрыгать.Поэтому, если вам нужно проверить более одного определенного значения выхода, сначала вы должны проверить самое высокое значение.

25 голосов
/ 11 августа 2010

Вы также можете использовать условную обработку символов , чтобы выполнить простую проверку успеха / неудачи.Например:

myProgram.exe && echo Done!

будет печатать Done!, только если myProgram.exe будет возвращено с уровнем ошибки 0.

myProgram.exe || PAUSE

приведет к приостановке пакетного файла, если myProgram.exe вернетненулевой уровень ошибки.

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