%ERRORLEVEL% содержит код состояния ранее выполненной команды. Если команда выполнена успешно, код будет равен 0, иначе это будет что-то еще. Итак, рассмотрим следующее:
> cd foo #there is no foo
The system cannot find the path specified. #expected
> echo %ERRORLEVEL%
1 #expected
> echo %ERRORLEVEL%
1 #unexpected
Почему второе echo возвращает 0? Я ожидаю, что, поскольку первый эхо завершится успешно, %ERRORLEVEL% изменится на 0 а второй echo выведет 0 .
