%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
.
2
stackoverflow.com/questions/20770788 / ...
—
Ƭᴇcʜιᴇ007
Не всі команди скидають ERRORLEVEL при успішному виконанні.
—
dxiv
echo
є серед тих, кого немає. Див. Які внутрішні команди cmd.exe очищають ERRORLEVEL до 0 після успіху? .