%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 після успіху? .