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

배치파일 IF문

조회 수 11583 추천 수 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
번호 분류 제목 날짜 조회 수
157 컴퓨터잡담 Windows Movie Maker 2.1 다운로드 2 2 file 2010.09.11 22457
156 컴퓨터잡담 XP윈도우가 버벅 거릴때 시스템 파일 복구하기 1 2010.09.11 11273
155 컴퓨터잡담 동영상 제작프로그램, 파워디렉터(POWER DIRECTOR) 1 2 2010.09.10 20214
154 컴퓨터잡담 이전 버전의 Office로 Office 2007 파일을 여는 방법 1 2010.09.04 11301
153 컴퓨터잡담 Excel에서 틀 고정 방법 2010.09.04 18628
152 컴퓨터잡담 아파치서버에서 시작시 무엇을 불러들이나? httpd -l 1 2 2010.09.04 9780
151 컴퓨터잡담 [악성코드제거] 가짜백신에 속지말고 MS정품을 이용하자. 2010.09.02 10318
150 컴퓨터잡담 무선랜 비밀번호 모음 3 2010.08.26 16895
149 컴퓨터잡담 [악성코드] 컴퓨터가 주기적으로 꺼지는 현상 2 2010.08.24 12217
148 컴퓨터잡담 hMailServer - 설치시 주의 핵심사항 1 2010.08.24 103068
147 컴퓨터잡담 [윈도우 웹서버] hmailserver 1 1 2010.08.22 23389
146 컴퓨터잡담 부팅시마다 체크디스크 실행되는 경우 설정방법 2010.08.21 26563
145 컴퓨터잡담 Tips N Tricks Process Listing - Using third party DLL! 2010.08.14 20425
144 컴퓨터잡담 [autohotkey] 시스템 레지스트리 수정, 삭제 2010.08.14 8486
143 컴퓨터잡담 [autohotkey] 시스템 레지스트리 수정, 삭제 1 3 2010.08.14 8062
142 컴퓨터잡담 [잦은오류해결] 오류발생을 알려주는 drwtsn32.exe 때문에 다운? 차라리 없애버리자. 2010.08.12 5838
141 컴퓨터잡담 [악성코드퇴치] 악성코드 처리 방법 1 2010.08.12 9902
140 컴퓨터잡담 [악성코드퇴치] hosts 파일로 경로납치 현상 방지 1 2010.08.12 14026
139 컴퓨터잡담 [악성코드퇴치] NSLOOKUP 경로 확인으로 가로채기 하기 1 2010.08.12 14605
138 컴퓨터잡담 악성코드 mus.exe 제거하기 2010.08.11 16034
Board Pagination Prev 1 ... 37 38 39 40 41 ... 46 Next
/ 46

http://urin79.com

우린친구블로그

sketchbook5, 스케치북5

sketchbook5, 스케치북5

나눔글꼴 설치 안내


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

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

설치 취소