컴!

배치파일: GOTO 문

WWIII 2020. 7. 22. 15:43
728x90
반응형

배치파일 안에서 다른 배치파일을 호출하여 실행하려면 CALL 명령을 쓰면 됩니다. 그러면 그 외부 배치파일의 전부가 실행됩니다.

그런데 다른 배치파일의 특정 라벨로 뛰어넘으려면, 즉 외부 배치파일의 일부만 실행시키려면 CALL  GOTO 명령을 동시에 사용해야 합니다.


현재 배치 파일에

call "다른 배치파일명" "라벨명"

이렇게 하고


호출될 다른 배치 파일의 첫 부분에
goto %1
이렇게 쓰면 됩니다.


다음 예제를 보면 쉽게 알 수 있습니다.

A.bat 안에서 B.bat의 :GOOGLE 이라는 라벨(레이블)도 직접 이동한 후,
다시 A.bat 으로 돌아오는 것입니다.



파일명: A.bat

@echo off

call B.bat GOOGLE


echo.
echo ::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
echo B.bat 의 GOOGLE 이라는 라벨로 이동한 후,
echo 다시 A.bat으로 돌아와서 끝납니다.
echo ::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::





파일명: B.bat 

@echo off

goto %1




:YAHOO
echo 여기는 '야후' 라벨입니다
goto QUIT



:GOOGLE
echo 여기는 '구글' 라벨입니다
goto QUIT



:MSN
echo 여기는 '엠스엔' 라벨입니다
goto QUIT




:QUIT
echo 여기서 A.bat으로 다시 돌아갑니다.




실행 결과: 

D:\Z>A.bat
여기는 '구글' 라벨입니다
여기서 A.bat으로 다시 돌아갑니다.

::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
B.bat 의 GOOGLE 이라는 라벨로 이동한 후,
다시 A.bat으로 돌아와서 끝납니다.
::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::

D:\Z>




A.bat 을 실행하자, B.bat 의 :GOOGLE 이라는 라벨만 실행되었습니다.
그런 후 다시 A.bat 으로 돌아와서 끝났습니다.


이 팁을 활용하면, "배치파일 라이브러리"를 만들 수도 있습니다.
 

[출처] DOS 배치파일] 다른 배치 파일로 GOTO 명령; 다른 파일 라벨로 이동 BAT|작성자 모꼬모지

 

728x90
반응형