1. 일괄 처리(batch processing) 란?
컴퓨터 프로그램 흐름에 따라 순차적으로 자료를 처리하는 방식.
2. 배치 파일 만들기
(1) 실행에서 notepad 입력 후 확인 버튼 클릭
(2) 동작할 스크립트 작성
(3) 다른 이름으로 저장 시 파일이름 확장자 “.bat”으로 입력 후 파일 형식 “모든 파일(*.*) 설정하고 저장 버튼 클릭
(4) 저장된 파일 실행
3. 배치파일 문법/예제
명령어 |
설명 |
예시 |
ECHO |
화면에 메시지 출력 |
ECHO 화면에 메시지 출력 |
@ECHO ON |
출력되는 텍스트 보이기 |
|
@ECHO OFF |
출력되는 텍스트 감추기(다음에 나오는 명령어 에코하지 말 것) |
@ECHO OFF ECHO 화면에 메시지 출력 |
ECHO. |
문자열 줄바꿈 |
@ECHO OFF
ECHO 첫 번째 줄 |
ECHO %변수% |
만일 변수가 정의되어 있지 않은 상태라면, 화면에 “ECHO가 정의되어 있지 않습니다.” 라는 메시지 출력 |
ECHO %a1% |
@ |
@이가 붙어 있는 라인은, ECHO-OFF 상태에서 그 라인이 실행, 즉 실행된 출력만이 화면 표시 |
|
GOTO |
원하는 곳으로 이동 시 사용 |
@ECHO OFF
GOTO SECOND
ECHO 1번 |
:LABEL |
라벨을 표시, 특정 래이블로 제어를 점프하기 위해 사용 |
|
START |
기본 프로그램으로 파일 실행 |
|
REM |
프로그램 내 글자 입력(주석) |
REM 설명문 |
MKDIR/RMDIR |
디렉토리 생성/삭제 |
|
DEL |
파일 삭제 |
|
COPY |
파일 복사 |
|
XCOPY |
추가 기능에 따라 파일 복사 |
|
FOR/IN/DO |
파일 지정 |
|
TITLE |
현재 창 제목 지정 |
@ECHO OFF
TITLE 제목 변경 가능 |
MODE |
배치파일 실행 시 콘솔 창 크기 지정 |
MODE CON COLS=50 LINES=10 |
COLOR |
콘솔 창의 폰트, 배경색 지정 0 : 검은색, 1 : 파란색, 2 : 녹색, 3 : 청록색, 4 : 빨간색, 5 : 자주색, 6 : 노란색, 7 : 흰색, 8 : 회색, 9 : 연한 파란색, A : 연한 녹색, B : 연한 청록색, C : 연한 빨간색, D : 연한 자주색, E : 연한 노란색, F : 밝은 흰색 |
@ECHO OFF COLOR 40 |
PAUSE |
배치파일 일시정지
※ PAUSE 명령 삽입으로 CTRL+C를 이용한 실행 중단 |
@ECHO OFF
PAUSE |
SET |
변수 지정(변수에는 숫자, 문자 상관없이 넣을 수 있음) |
@ECHO OFF |
% |
명령어줄 매개변수 접두사 |
|
/ |
명령어 옵션 플래그 |
|
|
디렉토리 패스 구분자 |
|
== |
(같음) 문자열 비교 테스트 |
|
!==! |
(다름) 문자열 비교 테스트 |
|
| |
파이프 |
|
* |
파일명 “와일드 카드” |
|
> |
파일 재지향(덮어 쓰기) |
@ECHO OFF TYPE blingbling.txt ECHO. ECHO 저장될 내용 > blingbling.txt
ECHO. TYPE blingbling.txt |
>> |
파일 재지향(덧붙여 쓰기) |
@ECHO OFF TYPE blingbling.txt ECHO. ECHO 저장될 내용 >> blingbling.txt |
< |
표준입력 재지향 |
|
%VAR% |
환경 변수 |
|
NOT |
뒤에 나오는 테스트 부정 |
|
NUL |
명령어 출력을 없애기 위한 “블랙홀” |
|
FOR %%VAR IN (LIST) DO |
“for”루프 |
FOR %var IN (*.exe) DO start /wait %var /quiet /norestart |
CHOICE |
메뉴 선택 |
|
IF |
조건문(참과 거짓 판별) |
@ECHO OFF SET num=1 IF %num%==1 ECHO num의 값은 1입니다. IF NOT %num%==0 ECHO num의 값은 0이 아닙니다. |
IF NOT |
조건문(참과 거짓 판별) |
|
ELSE |
조건문(참과 거짓 판별) |
@ECHO OFF IF%num%==1( ECHO num은 1입니다. )ELSE( ECHO num은 1이 아닙니다. ) |
IF ERRORLEVEL 1 |
배치파일 실행 도중 에러 발생시 0이외의 값(1, 2, 3,…)을 반환하고 에러가 발생하지 않으면 0을 반환 |
@ECHO OFF SET blin=문구입력 ECHO %A% | FIND “문구” > NUL IF ERRORLEVEL 1 ECHO 문구가 포함되어있지 않음 IF NOT ERRORLEVEL 1 ECHO 문구가 포함되어 있음 |
IF EXIST FILENAME |
파일 존재 여부 확인 |
@ECHO OFF IF EXIST c:\blingbling.bat ECHO 파일이 존재함 IF NOT EXIST c:\blingbling.bat ECHO 파일이 존재하지 않음 |
IF !%N==! |
변경가능한 매개변수 “N”이 없다면 |
|
CALL |
다른 스크립트 “포함” |
CALL [drive:][경로]<배치파일명>[.BAT] CALL C:blingblingtest.bat |
COMMAND /C |
다른 스크립트 “포함”(CALL과 동일) |
|
SET |
환경 변수 세트 |
@ECHO off set a1=number 1 variable echo %a1% exit /b 0 |
SETX |
윈도우 환경변수 등록 |
SETX GOROOT “%GOROOT%;”c:go” -m |
SHIFT |
명령어줄 변수 목록을 왼쪽으로 이동(shift) |
|
SGN |
(정수) 부호(sign) |
|
ERRORLEVEL |
종료 상태 |
|
CON |
“콘솔”(표준입력) |
|
PRN |
(일반적인) 프린터 디바이스 |
|
LP1 |
첫번째 프린터 디바이스 |
|
COM1 |
첫번째 시리얼 포트 |
|
EQU |
같은(==) |
@ECHO OFF |
NEQ |
같지 않다(!=) |
|
LSS |
이하(<) |
|
LEQ |
작거나 같음(<=) |
|
GTR |
~보다 큰(>) |
|
GEQ |
크거나 같음(>=) |
|
TYPE |
텍스트 파일 불러오기 |
@ECHO OFF TYPE c:\blingbling.txt |
FIND |
문자 찾기(찾고 싶은 문자가 포함된 줄을 출력) |
@ECHO OFF ECHO TEST_num2 |
FINDSTR |
문자 찾기(여러 개의 문자를 찾기) |
@ECHO OFF ECHO TEST_num1
ECHO. ECHO TEST_num2 |
※ Windows 명령어 참고 URL :
https://docs.microsoft.com/ko-kr/windows-server/administration/windows-commands/windows-commands