본문 바로가기

개발/Batch_script

[batch script] 기본 정리_1

반응형

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.
두 번째 줄

ECHO %변수%

만일 변수가 정의되어 있지 않은 상태라면, 화면에 “ECHO가 정의되어 있지 않습니다.” 라는 메시지 출력

ECHO %a1%

@

@이가 붙어 있는 라인은, ECHO-OFF 상태에서 그 라인이 실행, 즉 실행된 출력만이 화면 표시

 

GOTO

원하는 곳으로 이동 시 사용

@ECHO OFF

 

GOTO SECOND

 

ECHO 1
:SECOND
ECHO 2

: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

SET TEST=
변수지정

ECHO %TEST%

%

명령어줄 매개변수 접두사

 

/

명령어 옵션 플래그

 

 

디렉토리 패스 구분자

 

==

(같음) 문자열 비교 테스트

 

!==!

(다름) 문자열 비교 테스트

 

|

파이프

 

*

파일명 “와일드 카드”

 

파일 재지향(덮어 쓰기)

@ECHO OFF

TYPE blingbling.txt

ECHO.

ECHO 저장될 내용 > blingbling.txt

 

ECHO.

TYPE blingbling.txt

>> 

파일 재지향(덧붙여 쓰기)

@ECHO OFF

TYPE blingbling.txt

ECHO.

ECHO 저장될 내용 >> blingbling.txt
ECHO.
TYPE 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 num1입니다.

)ELSE(

ECHO num1이 아닙니다.

)

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
rem this is “blingbling.bat”.

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_num1
TYPE c:\blingbling.txt | find “/etc/

ECHO.

ECHO TEST_num2
FIND “/etc/” c:\blingbling.txt

FINDSTR

문자 찾기(여러 개의 문자를 찾기)

@ECHO OFF

ECHO TEST_num1
TYPE c:\blingbling.txt | findstr –I “test”

 

ECHO.

ECHO TEST_num2
FINDSTR “test” c:\blingbling.txt

    Windows 명령어 참고 URL :

https://docs.microsoft.com/ko-kr/windows-server/administration/windows-commands/windows-commands

반응형