Sentio ergo sum

ChanYi.egloos.com

☞ Guest



Windows IF command IT 일반

일괄처리파일(배치파일)이 프로그래밍이 가능하도록 강력해질 수 있는 것은 IF와 같은 명령어를 통해서 논리판단이 가능하기 때문이 아닌가 한다. 명령어가 나열된 순서로대로 단순히 한라인씩 읽고 해석하여 명령만을 실행하는 것이 아닌 부여된 조건에 따라서 분기(分岐)가 이루어지도록 가능하다는 것은 배치파일을 통한 작업을 그만큼 융통적으로 진행시킬 수 있다는 점이다.

윈도XP 도움말을 보면 다음과 같은 형식으로 IF을 사용할 수 있다.
if [not] errorlevel number command [else expression]
if [not] string1==string2 command [else expression]
if [not] exist FileName command [else expression] * if [not] errorlevel number command [else expression]

1. if
;IF명령어 자체로써 배치파일 명령어.

2. [not]
;IF명령은 기본적으로 조건이 참일 경우 command를 실행하지만, 이와는 반대로 조건이 거짓일 경우 command를 실행한다.

3. errorlevel number
배치파일에서 0은 성공, 즉 오류가 없을 뜻하고, 1 또는 1보다 큰 경우 실패로써 오류 발생을 뜻하는데, 이를 errorlevel의 번호로 지정하여 조건을 부여할 수 있다. 따라서 errorlevel이 1이면 오류가 발생한 상태이거나 강제적으로 errorlevel이 1로 지정상태에이다. 그러므로 if errorlevel 1이라면 errorlevel이 1인 상태에서 commnad를 실행한다. if not errorlevel 1이라면 errorlevel이 1이 경우에 command를 실행한다.

4. command
;3.번의 조건을 만족한면 command를 실행한다.

5. [else expression]
command가 아니고 expression이므로 command나 또는 배치파일 표현식이 가능하다는 것이므로 else if도 가능하다.


* if [not] string1==string2 command [else expression]
1.string1==string2
; string1과 string2가 동일한 경우는 리터럴(literal) 문자열이나 매개인자(Argument) %n이 가능하다.
2.command
;1의 조건을 만족하면 실행된다.

* if [not] exist FileName command [else expression]
exist FileName 파일이름을 기입하고 존재하면 참, 존재하지 않으면 거짓이다.

간단한 테스트 예제
IF EXIST ttt.bat (notepad ttt.bat) ELSE dir.
;ttt.bat라는 파일이 있으면 notepad프로그램으로 내용을 읽어서 열고 없으면 dir명령을 실행하라.

출처 : 윈앤위 엑스피 블로그


덧글

댓글 입력 영역