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.

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

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

?

  1. 05
    Feb 2011
    08:19

    [autohotkey] FTP-업로드 예제분석

    CategoryAutoHotKey Views18645
    Read More
  2. 05
    Feb 2011
    15:24

    언인스톨 사용하기

    Category컴퓨터잡담 Views3691
    Read More
  3. 05
    Feb 2011
    16:09

    [autohotkey] TCP/IP 메시지 전달방법

    CategoryAutoHotKey Views13990
    Read More
  4. 05
    Feb 2011
    22:09

    OnMessage()

    CategoryAutoHotKey Views20463
    Read More
  5. 06
    Feb 2011
    08:01

    Mysqld 프로세서 실시간 감시

    CategoryAutoHotKey Views7611
    Read More
  6. 06
    Feb 2011
    11:31

    dgdersvc.exe 서비스 중지 및 사용안함, 삭제 설정

    Category프로세스 Views23939
    Read More
  7. 06
    Feb 2011
    11:38

    JQS.EXE jusched.exe (JavaQuickStarterService) 부팅시 자동실행 중지시키기

    Category프로세스 Views14735
    Read More
  8. 06
    Feb 2011
    11:42

    npkcmsvc.exe 서비스 끄기 (엔프로텍트 nProtect)

    Category프로세스 Views13332
    Read More
  9. 06
    Feb 2011
    11:47

    rundll32.exe와 svchost.exe

    Category프로세스 Views14001
    Read More
  10. 06
    Feb 2011
    11:49

    RTHDCPL.EXE / Alcmtr.EXE / SKYTEL.EXE

    Category프로세스 Views13682
    Read More
  11. 06
    Feb 2011
    11:57

    smas.exe 프로세스 내용 및 삭제

    Category프로세스 Views13307
    Read More
  12. 07
    Feb 2011
    08:33

    CKAgent.exe npkcmsvc.exe nvsvc32.exe

    Category프로세스 Views13221
    Read More
  13. 07
    Feb 2011
    08:38

    프로세스

    Category프로세스 Views312176
    Read More
  14. 07
    Feb 2011
    09:00

    IE 추가기능관리

    Category컴퓨터잡담 Views15485
    Read More
  15. 07
    Feb 2011
    09:02

    [autohotkey] 레지스트리 재부팅이 필요한 항목 수정후 재부팅 없이 바로 적용시킬수있는 방법

    CategoryAutoHotKey Views16165
    Read More
  16. 09
    Feb 2011
    19:14

    부팅 완료 체크

    CategoryAutoHotKey Views17864
    Read More
  17. 09
    Feb 2011
    19:19

    UrlDownloadToVar()

    CategoryAutoHotKey Views15464
    Read More
  18. 09
    Feb 2011
    19:27

    com.ahk

    CategoryAutoHotKey Views18260
    Read More
  19. 09
    Feb 2011
    19:28

    PostMessage로 한글 사용하기

    CategoryAutoHotKey Views16811
    Read More
  20. 10
    Feb 2011
    08:21

    AHK_L 예제소스

    CategoryAutoHotKey Views17020
    Read More
Board Pagination Prev 1 ... 9 10 11 12 13 ... 46 Next
/ 46

http://urin79.com

우린친구블로그

sketchbook5, 스케치북5

sketchbook5, 스케치북5

나눔글꼴 설치 안내


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

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

설치 취소