2011-12-16 5 views
6

다음과 같은 몇 가지 명령이있는 배치 파일이 있습니다.배치 파일에서 제어 되돌리기

XCOPY 
DEL 
RMDIR 

anotherBatch.bat 

XCOPY 
DEL 
RMDIR 

당신이 볼 수 있듯이, 다른 처리를하지 다른 배치 파일 (anotherBatch.bat)에 대한 호출이있다 사이.

이제 내 질문은 anotherBatch가 실행 된 후 컨트롤이 원래 배치 파일로 돌아 오지 않고 그냥 끝나는 것입니다.

컨트롤이 반환되었는지 어떻게 확인합니까?

답변

13

배치를 호출해야 서브 루틴는 CALL 명령을 통해라는 또 다른 배치 파일입니다

CALL subroutineName Param1 Param2 

서브 루틴은 동일한 파일에 배치 될 수있다 호출 코드. 이는 대장과 그 이름 앞에로 표시된다 :

CALL :SubroutineInThisFile Param1 Param2 
. . . . 
. . . . 
. . . . 
EXIT /B 

:SubroutineInThisFile 
. . . 
EXIT /B 

:AnotherSubroutine 
. . . 
EXIT /B 

출구/B 명령 (다만 EXIT)는 동일한 파일에서의 서브 루틴의 끝을 표시하기 위해 사용된다; 이것은 또한 주 프로그램을 위해 행해져 야한다.

예제에서와 같이 다른 Batch 파일이 호출 명령없이 호출 된 경우 net 결과는 "GOTO to another file"과 유사합니다. 호출 된 파일이 끝나면 해당 지점에서 프로세스가 종료됩니다. 나는 "오버레이"("서브 루틴"대신에)라는 식의 일괄 처리 파일을 사용했다.

+1

+1 좋은 설명 –

+0

Thx 많이 ... 새 창에서 anotherBatch를 열거 나 완료되면 자동으로 닫히도록 매개 변수를 호출하는 유사 콘텐츠가 있습니까? – testndtv

+0

시작 명령을 시도해보십시오. START /? – Aacini

7

명시 적으로 다른 배치 파일

call anotherBatch.bat