'Batch File Command'에 해당되는 글 1건

기본 조건

메모장(기타편집기)으로 c: 에 test.bat 파일을 생성 

Commands

%1

내 용

cmd에서
c:\>test.bat [value]
%1 = [value]

예 제

test.bat 내용

@echo off
hello %1

실행1

c:\>test.bat
hello

실행2

c:\>test.bat test
hello test

Commands

CALL

내 용

다른 bat파일을 불러온다.

예 제

test.bat 내용

@echo off
hello
call test2.bat

test2.bat 내용

@echo off
Thanks

실행

c:\>test.bat
hello
Thanks


Commands

:LABEL

내 용

라벨과 같은 단어 앞에 콜론을 추가함으로써, 분류를 만든다. 이렇게하면 GOTO문을 이용해서 실행 순서 변경이 가능하다.

예 제

test.bat 내용

@echo off
:LABEL1
echo Hello
GOTO LABEL3 

:LABEL2
echo Hello2 

:LABEL3
CALL test2.bat

GOTO LABEL2

test2.bat 내용

@echo off

Thanks

실행

c:\>test.bat
Hello
Thanks
Hello2
Thanks
Hello2
Thanks
Hello2
Thanks
Hello2
Thanks
Hello2
.
.
.
.

설명

실행하면 무한반복 할 것이다.

LABEL1->LABEL3으로 LABEL3->LABEL2로, LABEL2에서는 순서대로 실행을 하니 LABEL3을 만나서 다시 LABEL2로..

이렇게 무한반복을 하게 되면

CTRL+C 을 눌러서

일괄 작업을 끝내시겠습니까 (Y/N)? y

를 해서 끝낸다. 
여기서 무한반복을 막으려면

@echo off
:LABEL1
echo Hello
GOTO LABEL3
:LABEL2
echo Hello2

GOTO END

:LABEL3
CALL test2.bat
GOTO LABEL2

:END

위와 같이 END라는 라벨을 추가해서 고쳐주면 LABEL2에서 :END 라벨로 이동하여 무한반복 되지 않고 마칠 것이다.

추가설명

특정한 횟수만큼만 반복을 하고 싶을 때

@echo off
set Count=1
:LABEL1
echo hello
set /a Count+=1
if %Count% GEQ 10 goto END
:LABEL2
GOTO LABEL1
:END

set Count=1을 해서 Count라는 변수값을 초기화 하고

set /a Count+=1을 통해서 Count변수 값을 1씩 증가

if %Count% GEQ 10 goto END를 통해서 Count라는 변수값이 10이 될 경우 END 라벨로 이동해서 끝냄

Commands

CLS

내 용

화면을 지운다

예 제

test.bat 내용

@echo off
echo hello
CLS

실행

c:\>test.bat
c:\>

설명

CLS 때문에 화면이 다 지워진다. CLS의 위치에 따라 효율적으로 사용 할 수 있다.

Commands

REM

내 용

주석처리

예 제

test.bat 내용

@echo off
REM <무시할 문장>
echo Hello

실행

c:\>test.bat
Hello

설명

REM 뒤에 적는 문장은 주석으로 취급되어 출력되지 않는다.

추가설명

기타 주석처리 하는 방법
1.
: 내용
2.
:: 내용

Commands

EXIT

내 용

cmd 명령프롬프트 창 종료

예 제

test.bat 내용

@echo off
echo hello
EXIT

실행

c:\>test.bat
hello
<창 닫힌다>

설명

hello를 출력하고 나서 창이 닫힌다.

추가설명

기타 주석처리 하는 방법
1.
: 내용
2.
:: 내용

Commands

PAUSE

내 용

사용자에게 아무 키 입력을 기다린다.

예 제

test.bat 내용

@echo off
PAUSE
echo Hello

실행

c:\>test.bat
계속하려면 아무 키나 누르십시오 . . .
Hello

Commands

IF

내 용

조건을 설정한다.

예 제

test.bat 내용

@echo off

set aaa=test.hwp
if exist %aaa% (
echo %aaa% 파일 존재함.
) else (
echo %aaa% 파일 없음.
)

실행

[경우1] test.hwp 파일이 같은 위치에 존재할 때

c:\>test.bat

test.hwp 파일 존재함.

실행2

[경우2] test.hwp 파일이 없을 때
c:\>test.bat
test.hwp 파일 없음.

설명

aaa라는 변수에 test.hwp라는 값을 넣고
if문을 이용해서 aaa라는 변수 안에 들어있는 값이 존재하는지 exist를 사용하여 확인하는 방법.

추가방법

if exist %aaa% echo %aaa% 파일 존재함.

if not exist %aaa% echo %a% 파일 없음.

Commands

COPY

내 용

파일을 복사한다.

예 제

test.bat 내용

@echo off
COPY a.txt b.txt

실행

c:\>test.bat
1개 파일이 복사되었습니다.

설명

COPY 원본파일 복사할파일

위와 같은 형식이다. 단, a.txt파일이 있어야 이 파일을 b.txt로 COPY가 가능하다.

추가방법

COPY a.txt %date%.txt
이렇게 입력하면 오늘 날짜로 파일이 생성된다.

블로그 이미지

BlueBell_ NINEx

일상과 IT의 만남

-->