명령 줄-다른 배치 파일을 호출하는 배치 파일


13

PATH 디렉토리에있는 다른 배치 파일을 호출하는 배치 파일이 있습니다 (기본적으로 추가 스위치로 실행 파일을 호출합니다).

: bar.bat:
foo.bat file1.txt
foo.bat file2.txt
etc.

foo.bat에서 :

foo.exe -t -s %1

bar.bat 는 첫 번째 명령을 실행하지만 즉시 종료됩니다 (예 : file1.txt 에서만 작업 ).

이 배치 파일을 사용하여 다른 배치 파일을 두 번 이상 호출하려면 어떻게해야합니까?

답변:


14

CALL 키워드를 사용하십시오.

call foo.bat file1.txt
call foo.bat file2.txt

1
<Duncan Smart의 답변에서 복사하여 함께 유지> @splattne의 답변 외에도 일찍 반환 해야하는 경우 CALLed 배치 파일에서 exit / b를 사용하십시오.
브래드 브루스

1
goto :eof일찍 돌아 오는 데 사용할 수도 있습니다 . exit /b일반적으로 리턴 코드가 필요한 경우에만 필요합니다.
Joey

이유는 없지만이 기능을 사용하기 위해 고심 exit /b하고 goto: eof있습니다. 콜드 배트의 출력을 추가해도 괜찮습니까? call foo.bat > myfile
SSH 이번

4

@splattne의 답변 외에도 일찍 반환 해야하는 경우 ed 배치 파일 exit /b에서 사용 하십시오 CALL.


2

다른 옵션 (버전 3.3 :-) 이전의 DOS와의 호환성을 위해)은 자식 (/ c) 옵션과 처리 할 다른 배치 파일의 이름으로 명령 프로세스를 호출하는 것입니다. 그것은 또한 체인 대신에 전화를 할 것이고, 누군가가 이것을 가로 질러 돌보는 경우를 대비하여 진정한 고대 기계에서도 작동 할 것입니다. :-)


0

@ 에코 오프

에코 WbLegalReport.cmd

나는:

CD I : \ CFS \ Batch \ jarDir

에코 % CD %

WbLegalReport.cmd

에코 % CD %

echo WatchResrAddDeleted.cmd

에코 % CD %

WatchRestrAddDeleted.cmd

에코 % CD %

내가 여기서하려고하는 것은이 두 배치 파일을 순서대로 호출하는 것입니다.

그렇게 할 수 없습니다.

도와주세요.

컨트롤이 기본 스크립트로 다시 돌아 가지 않기 때문에 자식 스크립트에서 오류가 발생했습니다.


0

Sanket, 배치 파일을 직접 호출하지 마십시오. "CALL"명령을 사용하십시오. splattne 의 예를 참조하십시오 .

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.