Как остановить ранний выход из пакетного файла Windows? - PullRequest
25 голосов
/ 13 декабря 2011

У меня есть пакетный файл Windows, похожий на:

C:\DoStuff.cmd
move output.bak C:\newfolder\output.bak

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

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

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

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

Как мне выполнить первую команду, если она не контролирует пакетный запуск?

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

1 Ответ

36 голосов
/ 13 декабря 2011

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

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

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

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