Как остановить ранний выход пакетного файла Windows?


У меня есть пакетный файл windows, который выглядит следующим образом:

C:DoStuff.cmd
move output.bak C:newfolderoutput.bak

Проблема у меня заключается в том, что DoStuff.cmd выполняет программу java, которая после завершения завершает пакетный запуск обратно в командную строку. Линия 2 никогда не попадает.

Я попробовал вместо этого выполнить команду в новом окне:

start "My program" /WAIT C:DoStuff.cmd
move output.bak C:newfolderoutput.bak

Что происходит с вышесказанным, так это то, что новое командное окно порождает запуск файла cmd и выходит обратно в ожидающую командную строку, и окно никогда не закрывается, оставляя первое окно команды ожидание и второе ничего не делать застряли после завершения первого шага.

Как я могу выполнить первую команду без того, чтобы она каким-то образом управляла запуском пакета?

Заранее большое спасибо

1 25

1 ответ:

Вы можете использовать команду вызова DOS:

@echo off
call C:\DoStuff.cmd
echo Exit Code = %ERRORLEVEL%

После получения кода ошибки вы можете продолжить, например:

if "%ERRORLEVEL%" == "1" exit /B 1