수색…


통사론

  • if [/ i] StringToCompare1 == StringToCompare2 (commandA) else (commandB)

  • errorlevel 1 (commandA) else (commandB)

  • if % errorlevel % == 1 (commandA) else (commandB)

  • if 파일 이름 (commandA) else (commandB)

  • 정의 된 경우 VariableName (commandA) else (commandB)

비고

if 문에서 선택할 수있는 구문이 있습니다. if string1==string2 를 예로 들어 사용합니다.

1 행 구문

  • if string1==string2 commandA
  • if string1==string2 (commandA)
  • if string1==string2 (commandA) else (commandB)
  • if string1==string2 (commandA) else commandB
  • if string1==string2 (commandA)else (commandB)
  • if string1==string2 (commandA)else commandB

다중 행 구문

if string1==string2 (
    commandA
)

또는

if string1==string2 (
    commandA
) else (
    commandB
)

여전히 몇 가지 추가 구문을 사용할 수 있습니다.

IF 문과 숫자 비교하기

SET TEST=0

IF %TEST% == 0 (
    echo TEST FAILED
) ELSE IF %TEST% == 1 (
    echo TEST PASSED
) ELSE (
    echo TEST INVALID
)

문자열 비교

IF "%~1" == "-help" (
    ECHO "Hello"
)

여기서 %1 은 첫 번째 명령 줄 인수를 나타내고 ~ 는 스크립트가 호출되었을 때 포함 된 따옴표를 제거합니다.

Errorlevel 비교

If Errorlevel 1 (
    Echo Errorlevel is 1 or higher
    
    REM The phrase "1 or higher" is used because If Errorlevel 1 statement means:
    REM                                          If %Errorlevel% GEQ 1
    REM                                      Not If %Errorlevel% EQU 1
)

또는

If "%Errorlevel%"=="1" (
    Echo Errorlevel is 1
)

위의 스크립트는 변수 Errorlevel (내장)을 검사합니다. not 연산자를 사용할 수 있습니다.

Set "Test=%Errorlevel%"

If "%Test%" == "1" (
    Echo Errorlevel is 1
)

이것도 작동합니다.

일부 명령 은 오류 수준에 영향을주지 않습니다 .

  • 단절
  • 에코
  • 끝내기
  • 에 대한
  • 만약
  • 중지
  • Rd / Rmdir
  • 세트
  • 표제

다음 명령은 errorlevel을 설정하지만 clear 상태는 아닙니다 .

  • Cls
  • 고토
  • 열쇠
  • 대중 음악
  • 시프트

다음 명령 은 종료 코드를 설정하지만 errorlevel은 설정하지 않습니다 .

  • Rd / Rmdir

다음 명령 은 errorlevel을 설정하지만 종료 코드는 설정하지 않습니다 .

  • Md / ​​Mkdir

파일이 있는지 확인하십시오.

If exist "C:\Foo\Bar.baz" (
    Echo File exist
)

C : \ Foo \ Bar.baz 파일이 있는지 확인합니다. 존재할 경우 파일 존재 함 Not 연산자를 추가 할 수도 있습니다.

변수가 존재하거나 설정되면

If Defined Foo (
    Echo Foo is defined
)

변수가 정의되어 있는지 확인합니다. 다시, Not 연산자를 사용할 수 있습니다.



Modified text is an extract of the original Stack Overflow Documentation
아래 라이선스 CC BY-SA 3.0
와 제휴하지 않음 Stack Overflow