블로그 > faceuptoit님의 블로그 http://blog.naver.com/faceuptoit/100004435796 | |
1.배치파일(Batch File, 일괄처리용 화일) 1.1. 배치파일? ① 확장자 이름은 반드시 'BAT'이어야 한다. ④ 명령어 이름이 서로 같아 충돌할 때, DOS는 도스키-->내부명령-->외부명령( *.COM-->*.EXE)-->*.BAT) 순으로 실행한다. 다만 '파일명.BAT'라고 확장자 이름까지 써서 명령을 내리면 이런 문제는 해결된다. ⑤ BAT파일은 표준 ASCII 문장(Text) 파일이어야 한다.
① COPY명령사용 .... C:\>COPY CON XXXX.BAT
<설명1> COPY 명령을 사용하여 텍스트 파일 만드는 방법을 이용한다. 입력한 배치 내용을 보면 줄을 바꿀 때는 항상 엔터하면 된다. 끝낼 때는 언제나 Ctrl+Z 또는 F6키를 누르고 엔터하면 1개 파일이 복사되었다는 메시지가 나오면서 C루트에 SAMPLE.BAT란 파일이 1개 생긴다. <실행> C:\>SAMPLE <엔터>하면 배치파일 내용 순서데로 명령을 실행한다. ----- 작성 예②) C:\>EDIT <엔터> 도스 편집기 화면이 뜬다. 이때 ESC키를 한번 눌러 메시지 상자를 제거하고 깨끗한 화면에다 첫째 줄부터 입력하되, 줄을 바꿀 때는 엔터한다. CLS 끝내려고 저장글쇠(@F,S)를 누르면 파일이름을 써넣으라고 상자자 나온다. SAMPLE.BAT라고 입력하고 <엔터>하여 저장한 후, 에디트를 끝(@F, X)낸다.그러면 C루트 디렉토리에 SAMPLE.BAT 라는 배치파일이 생긴다. <실행> C:\>SAMPLE <엔터>하면 C루트에 있는 SAMPLE.BAT 파일이 실행된다. ******* 배치파일 내용에 파일스펙 경로명을 쓸 때 주의점.**** ⓐ 배치파일 내용 중에 현재 도스 작업방을 바꾸지 말고 C:\GAME\SUPER\ 방에있는 SUPER.EXE를 실행하라는 뜻이기 때문에 경우에 따라서는 실행이 되지 않는다. ⓑ 배치 내용을 아래와 같이 하면 틀림없이 실행하게 된다. 현재 도스작업방이 먼저 C드라이브로 바뀌고,절대경로명 CD\GAME\SUPER
① 일반적인 도스명령를 그대로 사용한다. CLS COPY DEL DIR DATE TIME PAYH PROMPT CHKDSK 등등. ② 배치에만 사용하는 전용 명령가 있다.
ⓑ PAUSE 배치실행을 중단하려면 Ctrl+C키를 누른다. 그러면 화면에 ⓒ ECHO 명령 ECHO ON ECHO OFF ECHO
TB PAUSE CLS ECHO 'This is Hangul Edit.' PAUSE REM 다음에 오는 설명은 화면에 나오지 않는다. 다만 ECHO ON EDIT @ECHO OFF 이후에 실행되는 명령어는 화면에 나타나지 않는다. TB/U CLS 1 File(s) Copied 실습을 위하여 일부러 여러가지 명령 종류를 써 보았으며,한글로 설 명을 하느라고 줄이 떨어졌으나 각자 실습할 때는 영문글자 부분만 쓰고 엔터하여 줄울 바꾸고 줄간격을 붙여가며 쓴다. <실행 예> C:\>EDIT2 <엔터> 하면 위의 내용을 순서데로 실행하고 도스 문서편집기가 화면에 나타난다. 문서작성기를 끝내면 한글프로그램을 메모리에서 제거하고 도스로 나온다. (계속) 제14장 배치파일 #2 (계속) 1.4 배치파일 전용 명령에서 앞에서 공부한 배치파일의 경우는 입력된 명령어들의 순서데로 실행되었었지만, 판단과 분기의 명령들은 명령어의 실행의 흐름을 사용자가 임의로 변경,지정할 수있어 배치파일의 기능을 보다 강력하게 한다. 분기 명령..배치파일의 순차적 수행을 필요에 따라 변경할 때 사용하며 조건분기(Conditional Branching).......IF명령 무조건분기(Unconditional Branching)...GOTO명령 ① CALL [배치파일 인자] 배치파일 실행 중 다른 배치파일을 도중에 호출하여 실행시키고 다시 <예> H1.BAT의 내용이 'DIR C:\ > A:MDIRLIST.TXT' ( C루트의 파일목 C:\>COPY CON H2.BAT <실행> C:\>H2 엔터하면 H1.BAT란 배치파일을 불러(CALL) 실행하여 MDIRLIST.TXT 파일을 A드라이브에 만든 후, 다시 H2.BAT 파일로 돌아와서 A드라이브의 'MDIRLIST.TXT' 파일을 화면에 타이프해 보인다.
주어진 조건에 따라 명령을 선별적으로 선택.실행케 하는 명령이다. IF EXIST [파일이름] [명령] IF NOT EXIT [파일이름] [명령] <예> IF EXIST *.BAK DEL *.BAK
<예> C:\>COPY CON TEST1.BAT <실행> C:\>TEST1 A 엔터하면 화면에 TESTING A 라고 표시한다. IF [NOT] ERRORLEVEL [값] [명령] 종료코드를 발생하는 명령어(FORMAT,XCOPY,COPY,BACKUP,RESTORE 등 일 예> C:\>COPY CON XY.BAT 실행> C:\>XY *.* 엔터하면 성공적 수행여부에 따라 'FAILED !' 또는 ③ GOTO [레이블이름] <예> 현재 디렉토리에 *.HWP 파일을 C:\HNCDOC 디렉토리로 옮겨주는 C:\>COPY CON HWPMV.BAT 실행> C:\>HWPMV 엔터하면 C루트 디렉토리에 있는 모든 HWP 파일을 C:\HNCDOC 디렉토리로 옮기고 'HWP 파일을 모두 옮겼다'는 메시지를 화면에 보이고 END(끝) 레이블로 와서 도스상태로 빠저나 온다. 옮길 HWP 파일이 없으면 ' HWP 파일을 찾지 못했다'는 메시지가 나오고 끝(END) 낸다. GOTO 문에서는 항상 END 레이블로 배치를 끝낸다. 배치 안에서 COPY,XCOPY,MOVE 명령은 /-Y 스위치를 써야 만이 목적지에 같은 이름의 파일이 있을 경우 덮어 쓸지여부를 확인하는 메시지를 출력한다. ④ 의사변수(Dummy Variables 가상의 변수) 바꿔 쓸 수 있는 인자(Replaceable Parameter)를 의사변수라 하며, 형식> C:\>명령어 파일1 파일2 " " " " " " 파일9 작성예1> C:\>COPY CON DIRALL.BAT 실행예> C:\>DIRALL A: B: (엔터) 설명> 위 '실행 예'에서 명령어 DIRALL(.BAT)은 %0, A:은 %1, B:은 %2 에 해당하므로 '작성예1'의 내용 중 %1,%2,%0에 대입하여 명령을 수행한 결과가 화면에 나오게 된다. 즉 화면에는 'DIR A:'과, 'DIR B:'이 차례로 출력되고 멈췄다가 'DIRALL.BAT' 파일 내용이 출력된다.
실행예> C:\>EDIT2 SAMPLE.TXT (엔터) 설명> 위 '실행예'에서 명령어(EDIT2.BAT)는 %0, 파일1(SAMPLE.TXT)은 %1 에 해당하므로, '작성예2'의 배치파일 내용중 %1 대신에 SAMPLE.TXT라는 텍스트 파일이 대입된다. 화면은 한글을 읽고 쓸 수 있도록 태백한글을 메모리에 상주시킨다. 편집기는 SAMPLE.TXT 라는 파일을 읽어 화면에 띄워 수정.삽입 등 편집하고 저장할 수 있다. 편집을 끝내면 한글코드가 메모리에서 제거된다.
쉬프트는 옮김,변위를 의미하는 데 10개 이상의 대체 인자(Replaceable 작성예> 지정한 문장(text) 파일들을 차례로 TYPE시키는 배치파일 예. A:\>COPY CON TELLME.BAT 실행예> A:\>TELLME AAA.TXT BBB.TXT CCC.TXT ......... 엔터 설명> 위 '실행예'의 텍스트 파일명은 특정해야 하며 Wildcard문자(*,?)는 사용할 수 없다. 지정된 여러 파일들에 %1 변수가 차례로 SHIFT(변위)되면서 파일을 대입시켜 내용을 출력한다. 지정된 파일이 모두 옮겨 대입되고 나면 배치파일이 끝나게 된다. 배치파일 내용 중 GOTO 명령에서 BEGIN 레이블로 가서 다시 시작하게하는 것을 LOOP(고리)라고 한다.
형식) FOR %%변수 IN (셋트 파라미터) DO [명령어] %%변수 '(셋트 파라미터)'는 일련의 많은 갯수의 파일들을 말하고, '%%변수'는 SET에 명시된 각 파일에 순차적으로 설정되어 명령을 실행하는 대입변수이다. 셋트 파라미터에 와일드카드문자(*,?)를 사용할 수 있다. 작성예> 확장명이 BAT,DOC,TXT,CAP인 문장 파일 모두를 차례로 화면에 출력(TYPE)되게 배치파일을 만들어 보자. C:\> COPY CON TYPEALL.BAT <실행> C:\>TYPEALL C:\MDIR\*.BAT 엔터 (*.BAT, *.DOC, *.TXT, *.CAP 중에서 한 종류 파일만 지정한다.) 위 TYPEALL.BAT 파일을 실행할 때는 파일스펙(경로특정)이 있어야 한다.
일반배치파일 만들기와 동일하며 다만 이름만 AUTOEXEC.BAT로 한다. 컴퓨터를 구입할 때 이미 작성되어 있으므로 그 내용만 자기 필요에 따라 변경하면 될 것이다. 만약을 위해 원본 파일을 다른 곳에 백업해 놓고 필요시 다시 복사하면 좋을 것이다. <작성예> C:\>COPY CON AUTOEXEC.BAT ① 컴퓨터가 부팅할 때 DOS 시스템 프로그램을 메모리에 상주시킨 후 출처 : http://www.jungdaun.net/pc/dos/dos19.htm |
'bat 파일'에 해당되는 글 1건
- 2006.08.07 bat(배치)파일 문법
engineering/Network Eng.2006. 8. 7. 01:20