Skip to content
컴퓨터잡담
2010.05.07 08:03

배치파일 IF문

조회 수 11582 추천 수 0 댓글 0
?

단축키

Prev이전 문서

Next다음 문서

크게 작게 위로 아래로 댓글로 가기 인쇄
?

단축키

Prev이전 문서

Next다음 문서

크게 작게 위로 아래로 댓글로 가기 인쇄

배치파일(화일) IF문



If

일괄 프로그램에서 조건부 처리를 수행합니다.

구문

if [noterrorlevel Number Command [else Expression]

if [notString1==String2 Command [else Expression]

if [notexist FileName Command [else Expression]

명령 확장을 사용할 수 있으면 다음 구문을 사용합니다.

if [/iString1 CompareOp String2 Command [else Expression]

ifcmdextversionNumberCommand [else Expression]

ifdefinedVariableCommand [else Expression]

매개 변수

not

조건이 거짓인 경우에만 명령이 실행되도록 지정합니다.

errorlevel Number

이전에 Cmd.exe에 의해 실행된 프로그램이 Number보다 크거나 같은 종료 코드를 반환한 경우에만 참인 조건을 지정합니다.

command

앞의 조건을 충족하면 명령이 실행되도록 지정합니다.

String1==String2

string1과 string2가 같은 경우에만 참인 조건을 지정합니다. 이 값은 리터럴 문자열이나 %1 같은 배치 변수가 될 수 있습니다. 리터럴 문자열에는 따옴표를 사용하지 않아도 됩니다.

exist FileName

FileName이 있으면 참인 조건을 지정합니다.

CompareOp

세 문자의 비교 연산자를 지정합니다. 다음 표는 CompareOp에 유효한 값 목록을 보여 줍니다.

연산자설명

EQU

같음(equal to)

NEQ

같지 않음(not equal to)

LSS

보다 작음(less than)

LEQ

작거나 같음(less than or equal to)

GTR

보다 큼(greater than)

GEQ

크거나 같음(greater than or equal to)

/i

문자열 비교에서 강제로 대/소문자를 무시하게 합니다. if의 string1==string2 형식에 /i를 사용할 수 있습니다. 이러한 비교는 일반적입니다. 즉, string1과 string2가 모두 숫자로 구성되어 있으면 문자열을 숫자로 변환하여 수치 비교를 수행합니다.

cmdextversion Number

Cmd.exe의 명령 확장 기능과 관련된 내부 버전 번호가 Number보다 크거나 같은 경우에만 참인 조건을 지정합니다. 첫째 버전은 1이며 의미있는 향상을 명령 확장에 추가할 때 하나씩 증가합니다. 명령 확장을 사용하지 않는 경우 cmdextversion 조건은 참일 수 없습니다. 기본적으로 명령 확장은 사용 가능하게 설정되어 있습니다.

defined Variable

Variable이 정의된 경우 참인 조건을 지정합니다.

Expression

명령줄 명령과 매개 변수를 지정하여 else 절의 명령으로 전달합니다.

/?

명령 프롬프트에서 도움말을 표시합니다.

설명

if 명령에서 지정한 조건이 참이면 조건을 충족하는 명령이 실행됩니다. 조건이 거짓이면 if 절의 명령은 무시되며 else 절의 명령이 지정되어 있으면 else 절의 모든 명령이 실행됩니다.

프로그램이 중지되면 종료 코드를 반환합니다. 종료 코드를 조건으로 사용하려면 errorlevel을 사용합니다.

definedVariable 사용

definedVariable을 사용하면 세 가지 변수인 %errorlevel%%cmdcmdline% 및 %cmdextversion%이 추가됩니다.

ERRORLEVEL이라는 이름의 환경 변수가 없으면 %errorlevel%은 errorlevel 현재 값의 문자열 표시로 확장합니다. 대신에 이런 경우에는 ERRORLEVEL 값을 얻습니다. 다음 예제에서는 일괄 프로그램을 실행한 후 errorlevel을 사용할 수 있는 방법을 보여 줍니다.

goto answer%errorlevel% :answer0 echo Program had return code 0 :answer1 echo Program had return code 1 goto end :end echo done! 

또한 다음과 같이 CompareOp 비교 연산자를 사용할 수도 있습니다.

if %errorlevel% LEQ 1 goto okay

CMDCMDLINE라는 이름의 환경 변수가 없다면 %cmdcmdline%은 Cmd.exe가 처리하기 전에 Cmd.exe로 전달된 원래의 명령줄로 확장됩니다. 대신에 이런 경우에는 CMDCMDLINE 값을 얻습니다.

CMDEXTVERSION이라는 이름의 환경 변수가 없으면 %cmdextversion%은 cmdextversion 현재 값의 문자열 표시로 확장합니다. 대신에 이런 경우에는 CMDEXTVERSION 값을 얻습니다.

else 절 사용

else절은 if 다음에 오는 명령과 같은 줄에 사용해야 합니다. 예를 들면 다음과 같이 지정합니다.

IF EXIST FileName. (del FileName. ) ELSE ( echo FileName. missing. )

새 줄에서 del 명령을 종료해야 하므로 다음 코드는 작동하지 않습니다.

IF EXIST FileName. del FileName. ELSE echo FileName. missing

else절은 if 명령의 끝과 같은 줄에 사용해야 하므로 다음 코드는 작동하지 않습니다.

IF EXIST FileName. del FileName. ELSE echo FileName. missing

한 줄에서 모두 포맷하려면 다음과 같은 원래 명령문의 형식을 사용합니다.

IF EXIST FileName. (del FileName.) ELSE echo FileName. missing

Product.dat 파일을 찾을 수 없을 경우 "Cannot find data file"이라는 메시지를 표시하려면 다음과 같이 입력합니다.

if not exist product.dat echo Cannot find data file 

A 드라이브의 디스크를 포맷하는 동안 오류가 발생하면 다음 예제는 오류 메시지를 표시합니다.

:begin @echo off format a: /s if not errorlevel 1 goto end echo An error occurred during formatting. :end echo End of batch program.

오류가 발생하지 않으면 오류 메시지가 나타나지 않습니다.

로그인 후 댓글쓰기가 가능합니다.

?

List of Articles
번호 분류 제목 날짜 조회 수
137 컴퓨터잡담 [엑셀함수] 조건결과가 참일경우만 정상 출력하기 3 2010.08.11 8348
136 컴퓨터잡담 [악성코드퇴치] fph.exe 프로세서 제거하기 1 2010.08.11 12594
135 컴퓨터잡담 엑셀 색깔 지정 함수 1 2010.07.28 65609
134 컴퓨터잡담 메모리 용량이 넉넉하다면 램디스크를 한번 써보라, 1 2010.07.27 5408
133 컴퓨터잡담 [엑셀] 날짜와 요일 표현하기 3 1 2010.07.23 23927
132 컴퓨터잡담 도스 텍스트 TXT 파일에 내용 추가하기 2010.07.23 5952
131 컴퓨터잡담 윈도 로그인하기 전에 배치파일을 실행하는 방법 3 2010.07.23 18232
130 컴퓨터잡담 윈도우 서비스 수동 등록 방법 2010.07.23 9626
129 컴퓨터잡담 미국판 싸이월드라고 하는 페이스북 CEO 마크 주커버그 2 2010.07.22 6543
128 컴퓨터잡담 아이폰에서의 dns설정 방법 (유툽 속도 향상 법) 1 2010.07.22 11835
127 컴퓨터잡담 엑셀 - 초과 근무시간 계산 3 2010.07.14 20084
126 컴퓨터잡담 Implementation of the MetaWeblog API http://www.xmlrpc.com/metaWeblogApi in php 2010.07.12 12760
125 컴퓨터잡담 AutohotKey Postmessage(SendMessage)로 CTRL+C 전송하기 2010.07.11 21412
124 컴퓨터잡담 MouseOver - Background color, 마우스오버시 백그라운드 컬러 지정 7 2010.07.10 11032
123 컴퓨터잡담 악의적 호출 방지용 Referer 체크 2010.07.09 7530
122 컴퓨터잡담 APMSetup에서 문서 출력 순서 등 설정 2010.07.07 14066
121 컴퓨터잡담 CSS를 이용한 DIV 둥근 테두리 만들기. 1 4 2010.07.05 11710
120 컴퓨터잡담 둥근 모서리 박스 자동 생성 2 2010.07.03 6311
119 컴퓨터잡담 마우스 오버시 DIV 레이어 감추기 / 보이기 1 3 2010.07.03 15907
118 컴퓨터잡담 JavaScript1.2 Event mouse css 제어 1 2 2010.07.03 7514
Board Pagination Prev 1 ... 38 39 40 41 42 ... 46 Next
/ 46

http://urin79.com

우린친구블로그

sketchbook5, 스케치북5

sketchbook5, 스케치북5

나눔글꼴 설치 안내


이 PC에는 나눔글꼴이 설치되어 있지 않습니다.

이 사이트를 나눔글꼴로 보기 위해서는
나눔글꼴을 설치해야 합니다.

설치 취소