2011-01-25 7 views

답변

153

사용 CALL을 사용할 수 있습니다

CALL nameOfOtherFile.bat 

현재 배치 파일의 실행을 차단 (일시 중지)하고 CALL이 완료 될 때까지 대기합니다.

차단하지 않으려면 대신 START을 사용하십시오.

cmd 프롬프트에서 CALL /? 또는 START /?을 사용하여 자세한 내용을 확인하십시오. 당신은 a.bat이

:

@echo off 
echo "This is b.bat" 
+1

+ CALL/START에 대한 자세한 내용 –

1

당신은 같이

call script.bat 

하거나

script.bat 
+1

스크립트 내에서 다른 스크립트를 직접 호출하는 경우 호출 된 스크립트의 명령이 0이 아닌 값 (오류)을 반환하는 경우 호출 수신자 스크립트도 실행을 중지하며 '호출'을 사용하면 실행을 계속합니다 호출 된 스크립트에 오류가있는 경우에도 마찬가지입니다. –

4

당신은 사용해야 CALL

CALL batch.bat 
0

은 예입니다 이름으로, 당신이 명령 줄에서 실행중인 것처럼. '당신에게 명령 줄에서

if "%1"=="blah" bar 

실행 foo blah, 그리고 : 그래서

, 당신은 echo This is bar.bat!을 말한다 파일 bar.bat이 있다고 가정하고 파일 foo.bat에서 호출하려면, 당신은 foo.bat이 쓸 수 원래 배치 SCRI을 다른 배치 스크립트에서 배치 스크립트를 호출 할 때 :

C:\>foo blah 

C:\>if "blah" == "blah" bar 

C:\>echo This is bar.bat! 
This is bar.bat! 

을하지만을 조심 : LL 참조 태평양 표준시 실행을 중지합니다. 보조 배치 스크립트를 실행하고 이전 배치 스크립트로 돌아가려면 call 명령을 사용해야합니다. 예를 들면 : 당신이에 foo blah를 실행하면

if "%1"=="blah" call bar 
echo That's all for foo.bat! 

, 당신은 볼 것 :

C:\>foo blah 

C:\>if "blah" == "blah" call bar 

C:\>echo This is bar.bat! 
This is bar.bat! 

C:\>echo That's all for foo.bat! 
That's all for foo.bat! 
18

당신은 단지 배치 스크립트를 호출 할 수 있습니다

@echo off 
if exist b.bat goto RUNB 
goto END 
:RUNB 
b.bat 
:END 

및 b.bat

이 a.bat에서 조건부라고 여기

관련 문제