Нет, похоже, нет. Если вы echo %errorlevel%
после успешного или неудачного rmdir
, вы получите 0
в обоих случаях:
c:\pax> mkdir qqq
c:\pax> rmdir qqq
c:\pax> echo %errorlevel%
0
c:\pax> rmdir qqq
The system cannot find the file specified.
c:\pax> echo %errorlevel%
0
Для этого конкретного варианта использования вам, вероятно, лучше проверить впоследствии наличие каталога:
if exist dodgy\. rmdir dodgy
if exist dodgy\. echo dodgy directory still exists
Интересно, что если вы вызовете отдельную копию cmd.exe
для выполнения операции, вы можете получить уровень ошибки:
c:\pax> mkdir qqq
c:\pax> cmd /c rmdir qqq
c:\pax> echo %errorlevel%
0
c:\pax> cmd /c rmdir qqq
The system cannot find the file specified.
c:\pax> echo %errorlevel%
2
Тем не менее, я не уверен, что это лучше, чем просто проверять, что каталог исчез после того, как вы его удалите, поскольку он требует от вас запуска нового интерпретатора команд.