Ответ 1
IF ERRORLEVEL...
является специальным синтаксисом, поддерживаемым со дня DOS, в WinNT добавлена поддержка %ERRORLEVEL%
.
Исходный синтаксис используется следующим образом:
call someapp.exe
if errorlevel 1 goto handleerror1orhigher
echo succuess...
Чтобы использовать переменную, используйте обычный синтаксис IF: if %errorlevel%==0 echo success...
Обратите внимание: %errorlevel%
перестает работать, если кто-то set errorlevel=foo
и он может не обновиться для внутренних команд cmd.exe.
Альтернативным решением является использование &&
:
call someapp.exe && (echo success) || (echo error!)
Существуют (по крайней мере) два известных случая, когда уровень ошибок нарушен, и вы должны использовать ||
вместо: