Wednesday, November 15, 2006
DOS 고급 배치파일] 다른 배치 파일로 GOTO 명령; 다른 파일 라벨로 이동 BAT
배치파일 안에서 다른 배치파일을 호출하여 실행하려면 CALL 명령을 쓰면 됩니다. 그러면 그 외부 배치파일의 전부가 실행됩니다.
그런데 다른 배치파일의 특정 라벨로 뛰어넘으려면, 즉 외부 배치파일의 일부만 실행시키려면 CALL 과 GOTO 명령을 동시에 사용해야 합니다.
현재 배치 파일에
call "다른 배치파일명" "라벨명"
이렇게 하고
호출될 다른 배치 파일의 첫 부분에
goto %1
이렇게 쓰면 됩니다.
아래 예제 소스를 보면 쉽게 알 수 있습니다.
A.bat 안에서 B.bat의 :GOOGLE 이라는 라벨(레이블)로 직접 이동한 후,
다시 A.bat 으로 돌아오는 것입니다.
파일명: A.bat
파일명: B.bat
실행 결과:
A.bat 을 실행하자, B.bat 의 :GOOGLE 이라는 라벨만 실행되었습니다.
그런 후 다시 A.bat 으로 돌아와서 끝났습니다.
이 팁을 활용하면, "배치파일 라이브러리"를 만들 수도 있습니다.
▶▶ 배치파일] BAT파일 안에서, 다른 BAT파일 실행/호출 - Batch File - 일괄 파일
그런데 다른 배치파일의 특정 라벨로 뛰어넘으려면, 즉 외부 배치파일의 일부만 실행시키려면 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 ::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
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으로 다시 돌아갑니다.
goto %1
:YAHOO
echo 여기는 '야후' 라벨입니다
goto QUIT
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으로 돌아와서 끝납니다.
::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
D:\Z>
A.bat 을 실행하자, B.bat 의 :GOOGLE 이라는 라벨만 실행되었습니다.
그런 후 다시 A.bat 으로 돌아와서 끝났습니다.
이 팁을 활용하면, "배치파일 라이브러리"를 만들 수도 있습니다.
▶▶ 배치파일] BAT파일 안에서, 다른 BAT파일 실행/호출 - Batch File - 일괄 파일
tag: batch
배치파일 | DOS CMD BATCH .BAT
<< Home