2011-12-13 14 views
23

Mam plik wsadowy okien, który wygląda podobnie do:Jak zatrzymać wczytanie pliku wsadowego Windows Batch?

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

Problemem jest to, że mam DoStuff.cmd wykonuje program Java, który kiedyś kompletne wyjścia partia spłynąć do wiersza poleceń. Linia 2 nigdy nie zostanie trafiona.

Próbowałem następujących zamiast wykonać polecenie w nowym oknie:

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

Co się dzieje z powyższego jest to, że nowe okno poleceń ikra CMD biegnie plików i wychodzi z powrotem do czekającego wierszu polecenia a okno nigdy się nie zamyka, pozostawiając pierwsze okno poleceń oczekujące, a drugie nic nie utknęło po ukończeniu pierwszego kroku.

Jak wykonać pierwsze polecenie, nie mając w jakiś sposób kontroli nad przebiegiem wsadu?

wiele z góry dzięki

Odpowiedz

34

Można użyć DOS call command:

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

Po otrzymaniu kodu błędu można postępować na przykład z:

if "%ERRORLEVEL%" == "1" exit /B 1 
Powiązane problemy