ë�„스ì—�는 ëª…ë ¹ì–´ë¥¼ ì�¼ê´„ì �으로 처리하기위한 배치파ì�¼ì�´ë�¼ëŠ” 것ì�´ 있습니다.
대부분ì�˜ 사람들ì�€ 배치파ì�¼ì�´ ë�„스환경ì�„ 쉽게 ë§Œë“ ë‹¤ëŠ” 사실ì�„ 과소í�‰ê°€í•˜ëŠ”ë�°, 컴퓨터를 좀ë�” 쉽게 ì‚¬ìš©í•˜ê³ ì‹¶ë‹¤ë©´ 배치파ì�¼ì�„ ê¼ ì§šê³ ë„˜ì–´ê°€ëŠ”ê²ƒì�´ 좋습니다.
대부분ì�˜ 사람들ì�€ 배치파ì�¼ì�´ ë�„스환경ì�„ 쉽게 ë§Œë“ ë‹¤ëŠ” 사실ì�„ 과소í�‰ê°€í•˜ëŠ”ë�°, 컴퓨터를 좀ë�” 쉽게 ì‚¬ìš©í•˜ê³ ì‹¶ë‹¤ë©´ 배치파ì�¼ì�„ ê¼ ì§šê³ ë„˜ì–´ê°€ëŠ”ê²ƒì�´ 좋습니다.
▶ 배치파��란 ?
컴퓨터ì�˜ ë�™ìž‘ ìƒ�태를 살펴 ë³´ë©´ í•ìƒ� 사용ìž�와ì�˜ ìƒ�호작용ì—� ì�˜í•˜ì—¬ 작업ì�´ì�´ë£¨ì–´ì§„다는것ì�„ 알 수 있습니다. ë�„스ë�¼ëŠ” ìš´ì˜�ì²´ì œë�„ 사용ìž�ê°€ ëª…ë ¹ì�„ ìž…ë ¥í•˜ë©´ ê·¸ ëª…ë ¹ì—� 대해 ë�„스가 ë¶„ì„�하여 사용ìž�ê°€ ì›�하는 실행 결과를 ì œê³µí•©ë‹ˆë‹¤.
ë”°ë�¼ì„œ 사용ìž�는 í•ìƒ� ë�„스 프롬프트 ìƒ�ì—�서 ì�¼ì�¼ì�´ 키보드를 ì�´ìš©í•œ 타ì�´í•‘으로 ëª…ë ¹ì�„ ë‚´ë ¤ì•¼ í•˜ê³ , 하나ì�˜ ëª…ë ¹ì�´ ë‚´ë ¤ì§€ë©´ 완료ë� 때까지 다ì�Œ ëª…ë ¹ì�„ 내릴수가 없습니다. 작업 ê³¼ì •ì�´ 얼마ë�˜ì§€ 않는다면 í�° ìƒ�ê´€ì�´ 없으나 ê·¸ ê³¼ì •ì�´ 매우 ê¸¸ê³ ë³µìž¡í•˜ë‹¤ë©´ 사용ìž�는 지루함ì�„ ëŠ�ë�¼ê²Œ ë�©ë‹ˆë‹¤. ë˜�한 비ë¡� ì§§ì�€ ìž‘ì—…ê³¼ì •ì�´ë�¼ë�„ 컴퓨터를 켤때마다 매번 똑같ì�€ ê³¼ì •ì�„ ì�¼ì�¼ì�´ 지시하는 것ë�„ 귀찮ì�„ 것입니다.
�러한 경우 배치 파�� 가장 확실한 해결책입니다.
ë”°ë�¼ì„œ 사용ìž�는 í•ìƒ� ë�„스 프롬프트 ìƒ�ì—�서 ì�¼ì�¼ì�´ 키보드를 ì�´ìš©í•œ 타ì�´í•‘으로 ëª…ë ¹ì�„ ë‚´ë ¤ì•¼ í•˜ê³ , 하나ì�˜ ëª…ë ¹ì�´ ë‚´ë ¤ì§€ë©´ 완료ë� 때까지 다ì�Œ ëª…ë ¹ì�„ 내릴수가 없습니다. 작업 ê³¼ì •ì�´ 얼마ë�˜ì§€ 않는다면 í�° ìƒ�ê´€ì�´ 없으나 ê·¸ ê³¼ì •ì�´ 매우 ê¸¸ê³ ë³µìž¡í•˜ë‹¤ë©´ 사용ìž�는 지루함ì�„ ëŠ�ë�¼ê²Œ ë�©ë‹ˆë‹¤. ë˜�한 비ë¡� ì§§ì�€ ìž‘ì—…ê³¼ì •ì�´ë�¼ë�„ 컴퓨터를 켤때마다 매번 똑같ì�€ ê³¼ì •ì�„ ì�¼ì�¼ì�´ 지시하는 것ë�„ 귀찮ì�„ 것입니다.
�러한 경우 배치 파�� 가장 확실한 해결책입니다.
배치파ì�¼ì�˜ 기능ì�€ 순차ì �ì�´ê³ 반복ë�œ ë�™ì�¼í•œ 작업 ê³¼ì •ì�„ 몇개ì�˜ 혹ì�€ 수ì‹, 수백 ê°œì�˜ ì—°ê´€ë�œ ëª…ë ¹ì–´ë¥¼ 하나ì�˜ 파ì�¼ë¡œ 집약하여 ê·¸ 하나ì�˜ 파ì�¼(배치파ì�¼)ë§Œ 실행함으로ì�¨ ì›�하는 작업 ê³¼ì •ì�„ 수행하는것입니다.배치파ì�¼ì—� 붙는 확장ìž�는 .bat(batch ì�˜ 약어) 입니다.ë�„스ì—�서 실행ì�´ 가능하기 때문ì—� .com, .exe 확장ìž�ê°€ 붙는 외부 ëª…ë ¹ì–´ì™€ 함께 실행 가능한 파ì�¼ë¡œ 분류ë�©ë‹ˆë‹¤.ì°¨ì�´ê°€ 있다면 .com, .exe ëª…ë ¹ì–´ëŠ” 컴퓨터만 í•´ì„� 가능한 기계어 코드로 구성ë�˜ì–´ 있는반면, 배치 파ì�¼ì�€ 사람ì�´ 알아볼수 있는 ì�¼ë°˜ í…�스트로 ì�´ë£¨ì–´ì ¸ìžˆë‹¤ëŠ” 것입니다.
그래서 사용ìž�들ì�€ 문서작성ì—� ì�´ìš©í•˜ëŠ” 워드프로세서나 í…�스트ì—�디터 등ì�„ ì�´ìš©í•´ 배치 파ì�¼ì�„ ìž‘ì„±í• ìˆ˜ 있습니다. 그러나 워드프로세서는 ë�©ì¹˜ê°€ í�¬ê³ ì›�래 목ì �ì�´ 편집과 ì¶œë ¥ì�„ 위해 만들어진 것ì�´ë¯€ë¡œ 단순한 배치 파ì�¼ì�„ 작성하는 ë�°ëŠ” ê¶Œí•˜ê³ ì‹¶ì§€ 않습니다.
ì €ìž¥í• ë•Œë�„ 워드프로세서 ê³ ìœ ì�˜ í�¬ë§·(예" .hwp 확장ìž�를 가지는 아래아한글 ë�°ì�´í„° 파ì�¼)으로 ì €ìž¥í•˜ë©´ ì�¸ì‹�ì�´ ë�˜ì§€ 않으므로 아스키 파ì�¼ë¡œ ì €ìž¥í•´ì•¼ 합니다.가장 편리한 방법ì�€ ì�¼ë°˜ 문서 ì—�디터( ë�„스ì�˜ Edit, Qì—�디터,Uì—�디터 등)를 ì�´ìš©í•˜ê±°ë‚˜ ë�„스ì�˜ 'Copy Con' ëª…ë ¹ìœ¼ë¡œ 배치 파ì�¼ì�„ 만드는 것입니다.다ì�Œê³¼ ê°™ì�´ 'Copy con 파ì�¼ëª…' 형ì‹�으로 ìž…ë ¥í•˜ê³ ì—”í„°ë¥¼ 누르면 ë�„스 프롬프트 ìƒ�태ì—�서 íŽ¸ì§‘í• ìˆ˜ 있는 ìƒ�태가 ë�©ë‹ˆë‹¤.
C:\Bats> copy con Timedate.bat
cls
time
date
^Z
cls
time
date
^Z
1 File(s) copied
여기서 ì“°ê³ ì‹¶ì�€ 대로 ì �기만 하면 ë�©ë‹ˆë‹¤.ì œì�¼ 마지막행ì�˜ ^Z 는 파ì�¼ì�˜ ì œì�¼ 마지막 부분ì�´ë�¼ëŠ” 것ì�„ ë�„스ì—�게 ì•Œë ¤ì£¼ëŠ” 코드로 < Ctrl + Z > 키 ë˜�는 F6 키를 누르면 ë�©ë‹ˆë‹¤. ê·¸ë¦¬ê³ ì—”í„°í‚¤ë¥¼ 한번ë�” 누르면 '1 File(s) copied' ë�¼ëŠ” 메세지가 ì¶œë ¥ë�˜ëŠ”ë�°, ì�´ëŠ” 방금 ' copy con 파ì�¼ëª… ' 으로 작성ë�œ 문서파ì�¼ì�´ 성공ì �으로 만들어졌다는 뜻입니다.위ì�˜ 문서파ì�¼ì�€ 확장ìž�ê°€ .BAT 로 붙었기 때문ì—� 실행가능한 외부 ëª…ë ¹ì–´ê°€ ë�˜ëŠ”ë�°, 배치파ì�¼ì�€ ëª…ë ¹ì�´ 기ë¡�ë�˜ì–´ 있는 순서대로 실행ë�˜ê¸° 때문ì—� timedate.bat 를 실행시키면 ë¨¼ì € 화면ì�„ ì§€ìš°ê³ ë‚œë’¤ 시스템ì�˜ 시간과 ë‚ ì§œë¥¼ ì„¤ì •í•©ë‹ˆë‹¤.간단한 배치파ì�¼ì�€ 'copy con 파ì�¼ëª…' 으로 작성하는 것ì�´ 다른 프로그램ì�˜ ë�„움없ì�´ ì‰½ê³ ë¹ ë¥´ê²Œ ì²˜ë¦¬í• ìˆ˜ 있습니다. 하지만 배치파ì�¼ì�´ 조금 길거나 작성중ì—� 수시로 íŽ¸ì§‘í• ì�¼ì�´ ìƒ�기는 경우ì—�는 불가능합니다. 'copy con 파ì�¼ëª…' 으로 파ì�¼ì�„ 작성하면 행으로 다시ë�Œì•„ê°ˆ 수 ì—†ì�„ ë¿� 아니ë�¼ ìˆ˜ì •ì�´ 불가능하기 때문입니다. 그러므로 배치파ì�¼ì�„ 만들 필요가 있ì�„때는 문서 ì—�디터를 ì�´ìš©í•˜ëŠ” 것ì�´ 좋습니다.
â–¶ 배치파ì�¼ 작성 ëª…ë ¹ì–´ 9ì�¸ë°©
배치 파ì�¼ì�€ 파ì�¼ 안ì—� 기ë¡�ë�˜ì–´ 있는 ëª…ë ¹ì�˜ 순서대로 실행ë�©ë‹ˆë‹¤.가장 대표ì �ì�¸ 것ì�´ 부팅ì—� ì�´ìš©ë�˜ë©°, 컴퓨터ì�˜ 루트 ë””ë ‰í† ë¦¬ì—� ìœ„ì¹˜í•˜ê³ ìžˆëŠ” Autoexec.bat 파ì�¼ìž…니다. 그런ë�° 만약 배치 파ì�¼ì�˜ 실행ì�˜ 순서를 순차ì �ì�´ 아닌멀티부팅용 Autoexec.bat 처럼 사용ìž� 마ì�ŒëŒ€ë¡œ ì •í•˜ê³ ì‹¶ë‹¤ë©´ 배치파ì�¼ì—� ì œê³µë�˜ëŠ”ë°°ì¹˜ëª…ë ¹ì–´ì�˜ ìš©ë�„를 ì•Œê³ ìžˆì–´ì•¼ 합니다.
1. CALL
현재 실행중ì�¸ 배치 파ì�¼ì�„ 종료하지 ì•Šê³ í•„ìš”í•œ 다른 배치파ì�¼ì�„ 호출하여 실행한 다ì�Œ ì›�래ì�˜ 배치파ì�¼ë¡œ 다시 ë�Œì•„ì˜¤ë ¤ê³ í• ë•Œ 사용ë�©ë‹ˆë‹¤.
◇ 예 : Call c:\bats\sample.bat
어떤 배치 파�� 실행하는 �중� 경로 C:\bats � 있는 sample.bat 파�� 실행한 다� 다시 �래� 배치파�로 �아옵니다.
2. CHOICE
배치 프로그램 ë‚´ì—�서 사용ìž�ì�˜ ì„ íƒ�ì�„ 묻기 위해 사용ë�©ë‹ˆë‹¤. 배치 파ì�¼ ì œìž‘ìž�ê°€ ì„¤ì •í•œ 물ì�Œì�„ ì¶œë ¥í•˜ë©´ì„œ ì§€ì •ë�œ 키 ìž…ë ¥ì�„ 기다립니다. ì�´ ëª…ë ¹ì�€ 배치파ì�¼ ë‚´ì—�서만 사용 가능합니다.
◇ 옵션
- /C:문ìž�ì—´ : 사용ìž�ê°€ ì„ íƒ�í• ìˆ˜ 있는 키목ë¡�ì�„ [] 괄호 ë‚´ì—� ', ' 로 구분하여 ì¶œë ¥í•˜ê³ /C 스위치를 사용하지 않으면 기본ì �으로 YNì�´ 사용ë�©ë‹ˆë‹¤.
- /N : 프롬프트를 ì¶œë ¥í•˜ì§€ 않ë�„ë¡� 합니다.
- /S : 사용ìž�ì�˜ ìž…ë ¥ì—�서 소문ìž�, 대문ìž�를 구분하ë�„ë¡� 합니다.
- /T:기본키, 대기시간 : 기본키를 ì§€ì •í•œ 후 대기시간 ë�™ì•ˆ 사용ìž�ì�˜ 키 ìž…ë ¥ì�´ 없으면 ìž�ë�™ì �으로 기본키가 ìž…ë ¥ë�œ 것으로 ê°„ì£¼í•˜ê³ ì§„í–‰ë�©ë‹ˆë‹¤. ì§€ì • 가능한 대기시간ì�€ 초단위ì�´ë©° 0ì—�서 99 사ì�´ì�˜ 값입니다.
- 메세지 : 화면ì—� ì¶œë ¥ë� 메세지를 ì§€ì •í•©ë‹ˆë‹¤.
â—‡ 예 : choice /c:abCD /s /t : C, 5 다ì�Œì¤‘ì—�서 하나를 ì„ íƒ�하ì‹ì‹œì˜¤ a, b, C, D
â—‡ 설명 : ìž…ë ¥ 가능한 키를 a,b,C,D로 í•œì •í•˜ë©° 사용ìž�로부터 ìž…ë ¥ë�˜ëŠ” ì˜�문ìž�ì�˜ 대,소문ìž�를 구분하는ë�°, 만약 5ì´ˆ ë‚´ì—� 사용ìž�로부터 키 ìž…ë ¥ì�´ 없다면 C ê°€ ìž…ë ¥ë�œ 것으로 간주합니다. ê·¸ë¦¬ê³ í™”ë©´ì—�는
'다ì�Œì¤‘ì—�서 하나를 ì„ íƒ�하ì‹ì‹œì˜¤ a, b, C, Da,b,C,D? '
ë�¼ëŠ” 메세지가 ì¶œë ¥ë�©ë‹ˆë‹¤.
â—‡ 설명 : ìž…ë ¥ 가능한 키를 a,b,C,D로 í•œì •í•˜ë©° 사용ìž�로부터 ìž…ë ¥ë�˜ëŠ” ì˜�문ìž�ì�˜ 대,소문ìž�를 구분하는ë�°, 만약 5ì´ˆ ë‚´ì—� 사용ìž�로부터 키 ìž…ë ¥ì�´ 없다면 C ê°€ ìž…ë ¥ë�œ 것으로 간주합니다. ê·¸ë¦¬ê³ í™”ë©´ì—�는
'다ì�Œì¤‘ì—�서 하나를 ì„ íƒ�하ì‹ì‹œì˜¤ a, b, C, Da,b,C,D? '
ë�¼ëŠ” 메세지가 ì¶œë ¥ë�©ë‹ˆë‹¤.
3. ECHO
배치파ì�¼ 실행중ì—� ëª…ë ¹ì–´ë¥¼ 화면ì—� í‘œì‹œí• ê²ƒì�¸ì§€ì�˜ 여부를 ì„¤ì •í•˜ë©°, ê·¸ ìƒ�태를 표시합니다. 한편 ECHO ëª…ë ¹ ë’¤ì—� 오는 메세지는 화면ì—� 나타납니다.
◇ 옵션
- on : 배치 파ì�¼ 실행중ì—� ê·¸ 배치 파ì�¼ ë‚´ì�˜ ëª…ë ¹ì–´ë¥¼ 화면ì—� 표시합니다.
- off : 배치 파ì�¼ 실행중ì—� ëª…ë ¹ì–´ë¥¼ 화면ì—� ì¶œë ¥í•˜ì§€ 않ë�„ë¡� 합니다.
- 문ìž�ì—´ : 화면ì—� ì¶œë ¥í•˜ê³ ì‹¶ì�€ 메세지를 ì �ì–´ì¤�니다.
- ì—†ì�Œ : 현재 ECHO ì„¤ì • ìƒ�태를 표시합니다.
- on : 배치 파ì�¼ 실행중ì—� ê·¸ 배치 파ì�¼ ë‚´ì�˜ ëª…ë ¹ì–´ë¥¼ 화면ì—� 표시합니다.
- off : 배치 파ì�¼ 실행중ì—� ëª…ë ¹ì–´ë¥¼ 화면ì—� ì¶œë ¥í•˜ì§€ 않ë�„ë¡� 합니다.
- 문ìž�ì—´ : 화면ì—� ì¶œë ¥í•˜ê³ ì‹¶ì�€ 메세지를 ì �ì–´ì¤�니다.
- ì—†ì�Œ : 현재 ECHO ì„¤ì • ìƒ�태를 표시합니다.
◇ 예 :
echo off
☞ 현재 실행중ì�¸ 배치 파ì�¼ ë‚´ì�˜ ëª…ë ¹ì–´ë¥¼ 화면ì—� 나타나지 않ë�„ë¡� 함.
echo
echo 안녕하세요?~
☞ 현재 echo ì„¤ì •ìƒ�태를 표시하며 안녕하세요?~ ë�¼ëŠ” 문구를 화면ì—� ì¶œë ¥í•©ë‹ˆë‹¤.
☞ 현재 실행중ì�¸ 배치 파ì�¼ ë‚´ì�˜ ëª…ë ¹ì–´ë¥¼ 화면ì—� 나타나지 않ë�„ë¡� 함.
echo
echo 안녕하세요?~
☞ 현재 echo ì„¤ì •ìƒ�태를 표시하며 안녕하세요?~ ë�¼ëŠ” 문구를 화면ì—� ì¶œë ¥í•©ë‹ˆë‹¤.
4. FOR
ì§€ì •ë�œ ì§‘í•© 중ì�˜ ê°�ê°�ì�˜ 요소ì—� 대하여 ëª…ë ¹ìœ¼ë¡œ ì„¤ì •í•œ 처리를 반복 실행합니다.
◇ 사용법
For %%<변수> IN (<ì§‘í•©>) DO <ëª…ë ¹> <<˜µì…>> ☞ 배치파ì�¼ìš©.
For %<변수> IN (<ì§‘í•©>) DO <ëª…ë ¹> <옵션>] ☞ 순차처리용.
For %<변수> IN (<ì§‘í•©>) DO <ëª…ë ¹> <옵션>] ☞ 순차처리용.
◇ 옵션
- %%<변수>, &<변수> : 변수로 사용ë�˜ëŠ” 것ì�€ ìž„ì�˜ì�˜ ì˜�문ìž�로 1ìž�ë§Œ 허용ë�©ë‹ˆë‹¤. 주ì�˜í• ì �ì�€ 배치파ì�¼ì—�서 ì‚¬ìš©í• ê²½ìš°ëŠ” 반드시 %%처럼 ë‘�개를 연달아 사용해야 하며, ì�¼ë°˜ ë�„스 프롬프트ì—�서 ì‚¬ìš©í• ë•ŒëŠ” % 하나만 사용합니다.
- <ì§‘í•©> : %%<변수>ì—� ëŒ€ìž…í•˜ê³ ì‹¶ì�€ ê°’ì�„, ë˜�는 스페ì�´ìŠ¤ë¡œ 구분하여 ëŒ€ìž…í•˜ê³ ì‹¶ì�€ 순서대로 나열합니다.
- <ëª…ë ¹> : %%<변수>ì—� 대입ë�˜ì–´ 있는 ê°’ì—�대해 반복ì �으로 ì‹¤í–‰í•˜ê³ ì‹¶ì�€ ëª…ë ¹ì�„ ì§€ì •í•©ë‹ˆë‹¤.
- <옵션> : ì§€ì •í•œ ëª…ë ¹ì�˜ 옵션ì�´ë‚˜ FOR ëª…ë ¹ì—�서 ì§€ì •í•œ 옵션ì�„ ì„¤ì •í•©ë‹ˆë‹¤.
◇ 예
for %%f in (bak tmp $$$) do del *.%%f /p ☞ 배치파�� 경우
for %d in (read,wh,file) do hlist %d*.* ☞ �스 프롬프트�서 실행시
for %d in (read,wh,file) do hlist %d*.* ☞ �스 프롬프트�서 실행시
◇ 설명 : 첫 번째는 bak, tmp, $$$ 를 순서대로 %%f 환경 변수� 대입하여 차례대로
DEL *.bak /p, DEL *.tmp /p, DEL *.$$$ .p 를 실행한 것과 ��한 결과를 얻게�.
�번째는 READ,WH,FILE 를 순서대로 %d 환경변수� 대입하여 차례대로 HLIST READ*.*, HLIS TWH *.* , HLIST FILE *.* 를 실행한 것과 ��한 결과를 얻게 �니다.
5. GOTO배치 처리ì�˜ í��름ì�„ <ë ˆì�´ë¸”>ì—�서 ì •ì�˜ë�˜ì–´ 있는 위치로 옮ê¹�니다.
â—‡ 사용법 : Goto <ë ˆì�´ë¸”>
◇ 예 :
goto loop
:loop
ê°�종 ì²˜ë¦¬í• ë‚´ìš©
goto loop
:loop
ê°�종 ì²˜ë¦¬í• ë‚´ìš©
â—‡ 설명 : ë ˆì�´ë¸” loop 로 배치 처리ì�˜ ì œì–´ê¶Œì�„ ì�´ë�™ì‹œì¼œ loop í•목ì—� ì§€ì •ë�œ ê°�종 ì²˜ë¦¬í• ë‚´ìš©ì�„ 실행시킵니다.
â—‡ ì°¸ê³ : 배치 파ì�¼ì—� ë ˆì�´ë¸” 표시는 ë ˆì�´ë¸”명 앞ì—� ì½œë¡ (:) ì�„ 붙여주며 줄ì�„
바꿔 맨 앞ì—� ì§€ì •í•´ 주어야 합니다.
6. IFì§€ì •í•œ ì¡°ê±´ì�˜ íŒ�단 ê²°ê³¼ì—� ë”°ë�¼ì„œ 배치 처리를 진행합니다.
â—‡ 사용법 : If NOT <ì¡°ê±´> <ëª…ë ¹>
◇ 옵션
- NOT : ì§€ì •í•œ ì¡°ê±´ì�˜ 반대 ì¡°ê±´ì�¼ 때만 실행합니다.
- ì¡°ê±´
- ERRORLEVEL <수치> : 바로 ì „ì—� 실행한 ëª…ë ¹(프로그램)ì�˜ 종료 코드가 <수치> ì�´ìƒ�ì�¼ 때ì—�는 ì°¸ì�´ ë�˜ê³ <ëª…ë ¹> ì�´ 실행ë�¨.
- <문ìž�ì—´1> == <문ìž�ì—´2> : <문ìž�ì—´1> ê³¼ <문ìž�ì—´2> ê°€ ê°™ì�„ 때ì—�ë§Œ ì°¸ì�´ë�˜ê³ <ëª…ë ¹>ì�´ 실행ë�©ë‹ˆë‹¤. 주ì�˜í• ì �ì�€ 문ìž�ì—´ì�˜ 대,소문ìž�ê°€ 구별ë�˜ë©°, 문ìž�열중ì—� 구분기호(콤마,스페ì�´ìФ,ì„¸ë¯¸ì½œë¡ ,등호,íƒ)ê°€ í�¬í•¨ë�˜ì–´ 있으면 않ë�©ë‹ˆë‹¤.
- EXIST <파ì�¼ëª…> : <파ì�¼ëª…>으로 ì§€ì •í•œ 파ì�¼(경로í�¬í•¨)ì�´ ì¡´ìž¬í• ë•Œì—�ë§Œ ì°¸ì�´ ë�˜ê³ <ëª…ë ¹>ì�´ 실행ë�©ë‹ˆë‹¤. <파ì�¼ëª…>ì—�는 와ì�¼ë“œì¹´ë“œ 문ìž�ì�˜ 사용ì�´ 가능합니다.
◇ 예 :
if errorlevel 2 goto quit
if not %1 ==%2 goto process
if exist d:\work\temp.$$$ del d:\work\temp.$$$
if errorlevel 2 goto quit
if not %1 ==%2 goto process
if exist d:\work\temp.$$$ del d:\work\temp.$$$
◇ 설명 :
ì§�ì „ì—� 실행한 ëª…ë ¹ì�˜ 종료 코드가 2 ì�´ìƒ�ì�¼ 경우 ë ˆì�´ë¸” QUIT로 ì�´ë�™í•©ë‹ˆë‹¤.
ì§�ì „ì—� 실행한 ëª…ë ¹ì�˜ 종료 코드가 2 ì�´ìƒ�ì�¼ 경우 ë ˆì�´ë¸” QUIT로 ì�´ë�™í•©ë‹ˆë‹¤.
환경변수 %1ê³¼ 환경변수 %2ì—� 대입ë�˜ì–´ 있는 문ìž�ì—´ì�´ 같지 않ì�„ 경우ì—�ë§Œ ë ˆì�´ë¸” PROCESS 로 ì�´ë�™í•©ë‹ˆë‹¤.
경로 D:\Work ì—� temp.$$$ ë�¼ëŠ” 파ì�¼ì�´ 존재하면 ê·¸ 파ì�¼ì�„ ì‚ì œí•©ë‹ˆë‹¤.
7. PAUSE
배치 파ì�¼ 실행ì�„ ì�¼ì‹œ ì •ì§€í•©ë‹ˆë‹¤.
◇ 사용법 : Pause 문�열
◇ 옵션
- 문ìž�ì—´ : 문ìž�ì—´ì�„ ìƒ�략하면 'press any key to continue...'ë�¼ëŠ” 메세지가 화면ì—� ì¶œë ¥ë�©ë‹ˆë‹¤. 만약 PAUSE ëª…ë ¹ ë’¤ì—� ì–´ë–¤ 메세지를 ì§€ì •í•˜ì—¬ ê·¸ 메시지를 ì¶œë ¥í•˜ê³ ì‹¶ë‹¤ë©´ 'Echo On' ëª…ë ¹ì�„ ìš°ì„ ë‚´ë ¤ì•¼ 합니다.
◇ 예 :
echo on
pause 준비가 �었으면 아무키나 누르세요...
â—‡ 설명 : 배치 처리 중 pauseëª…ë ¹ì�„ 만났ì�„때 ìž„ì�˜ì�˜ 다른 메시지를 화면ì—� ì¶œë ¥í•˜ê³ ì‹¶ë‹¤ë©´ 예 ì—�서와 ê°™ì�´ 반드시 echo on ëª…ë ¹ì�´ ì„ í–‰ë�˜ì–´ì•¼ 하며 예ì�˜ 경우ì—�는 ' 준비가 ë�˜ì—ˆìœ¼ë©´ 아무키나 누르세요...' ë�¼ëŠ” 메세지가 ì¶œë ¥ë�©ë‹ˆë‹¤.pause 준비가 ë�˜ì—ˆìœ¼ë©´ 아무키나 누르세요...
â—‡ ì°¸ê³ : 위 처럼 하면 화면ì—� Pause ë�¼ëŠ” ëª…ë ¹ì–´ê¹Œì§€ ê°™ì�´ ì¶œë ¥ë�˜ë¯€ë¡œ ì�´ëŸ°ê²½ìš°
echo on
echo 준비가 �었으면 아무키나 누르세요...
pause > Null
echo on
echo 준비가 �었으면 아무키나 누르세요...
pause > Null
ì�´ëŸ°ì‹�으로 사용하면 ì¶œë ¥í•˜ê³ ìž� 하는 메세지만 화면ì—� ì¶œë ¥ë�©ë‹ˆë‹¤.
8. REM
배치 파ì�¼ ë‚´ì—� 주ì„�문ì�„ ë¶€ì—¬í•˜ê³ ì‹¶ì�„ 때 사용합니다.
◇ 사용법 : rem 문�열
◇ 옵션
- 문ìž�ì—´ : 주ì„�문으로 ì“°ê³ ì‹¶ì�€ 것ì�„ ì �ì–´ì¤�니다.
◇ 예 : REM � 배치파�� 샘플입니다.
배치파ì�¼ë‚´ì�˜ ì �당한 위치ì—� ì �ì ˆí•œ 주ì„�문ì�„ 붙여ë‘�ë©´ 배치 처리ì�˜ í��름ì�„ ì�¼ëª©ìš”연하게 ë³¼ 수 있습니다.
9. SHIFT
배치 파ì�¼ì—� 주어진 파ë�¼ë¯¸í„°(%1~%9)와 실행시ì—� ì§€ì •ë�˜ëŠ” ê°’ê³¼ì�˜ 대ì�‘ì�„ 하나씩 뒤로 ì�´ë�™í•˜ì—¬ 표시합니다.
◇ 예
<TEST.BAT>
:loop
if "%1" == " " goto end
echo %0 %1 %2 %3 %4 %5 %6 %7 %8 %9
shift
goto loop
:end
<TEST.BAT>
:loop
if "%1" == " " goto end
echo %0 %1 %2 %3 %4 %5 %6 %7 %8 %9
shift
goto loop
:end
위와 ê°™ì�´ 배치 파ì�¼ì�„ 작성해ë‘�ê³ ë‹¤ì�Œê³¼ ê°™ì�´ 배치파ì�¼ì�„ 실행해 ë³´ë©´ shift ëª…ë ¹ì�´ ì–´ë–¤ ì—í• ì�„ 하는지 금방 알 수 있습니다..
C:\bats> test.bat A B C D E F G H I J 0 1 2 3 4 5 ☜똑같ì�´ ìž…ë ¥í•˜ê³ ì‹¤í–‰í›„ 확ì�¸.
C:\bats> test.bat A B C D E F G H I J 0 1 2 3 4 5 ☜똑같ì�´ ìž…ë ¥í•˜ê³ ì‹¤í–‰í›„ 확ì�¸.










