Ответ 1
Вы можете использовать следующее:
C:\>type nul > C:\does\not\exist\file.txt && echo ok || echo fail
The system cannot find the path specified.
fail
C:\>echo %errorlevel%
1
Я всегда принимал && и || операторы использовали ERRORLEVEL, но, по-видимому, нет.
Очень любопытно, что ERRORLEVEL устанавливается после ошибки перенаправления, только если вы используете || оператор. я бы никогда не догадался. Я бы даже не удосужился испытать, если бы не отличный вопрос.
Если все, что вы хотите сделать, это установить ERRORLEVEL при сбое перенаправления, тогда, конечно, вы можете просто сделать:
type nul > C:\does\not\exist\file.txt || rem