명령: "IF" 켜짐 Windows 12, 11, 10, .. , MS Server 2025, 2022, 2019, .. 사용 가능
명령의 예 "IF"
그만큼
`IF`Windows 명령 프롬프트의 명령은 배치 스크립트에서 조건문을 실행하는 데 사용됩니다. 여기 몇 가지 예가 있어요.
예 1: 단순 동등성 검사:
@ECHO OFF
SET Variable1=10
SET Variable2=10
IF %Variable1% EQU %Variable2% (
ECHO 변수는 똑같습니다.
) ELSE (
ECHO 변수가 동일하지 않습니다..
)
설명: 이 예에서는 변수
`Variable1`그리고
`Variable2`비교. 동일하면
"변수가 동일합니다."라는 메시지가 표시됩니다. 출력, 그렇지 않으면
"변수가 동일하지 않습니다."
예 2: 파일 존재 여부 확인:
@ECHO OFF
IF EXIST C:\예.txt (
ECHO 파일이 존재합니다.
) ELSE (
ECHO 파일이 존재하지 않습니다.
)
설명: C:\ 디렉터리에
"Example.txt" 파일이 존재하는지 확인합니다. 파일이 존재하면 해당 메시지가 출력되고, 그렇지 않으면 다른 메시지가 출력됩니다.
예 3: 사용자 입력 확인:
@ECHO OFF
SET /P user_input=값을 입력 해주세요:
IF "%user_input%"=="" (
ECHO 값을 입력하지 않았습니다..
) ELSE (
ECHO 그들은 가지고 있다 "%user_input%" 입력.
)
설명: 사용자가 값을 입력했는지 확인합니다. 입력이 없으면
"값을 입력하지 않았습니다."라는 메시지가 나타납니다. 그렇지 않으면 입력된 문자열이 표시됩니다.
예 4: 파일 크기 확인:
@ECHO OFF
SET 파일=C:\예.txt
SET 최소_크기=1024
FOR %%A IN (%파일%) DO SET 파일_크기=%%~zA
IF %파일_크기% GEQ %최소_크기% (
ECHO 파일이 최소 크기를 충족합니다..
) ELSE (
ECHO 파일이 너무 작습니다..
)
설명: 여기서는
"Example.txt" 파일의 크기를 확인합니다. 파일 크기가 최소 크기(
`최소_크기`),
"파일이 최소 크기를 충족합니다."라는 메시지가 나타납니다. 그렇지 않으면
"파일이 너무 작습니다."
예 5: 운영 체제 확인:
@ECHO OFF
VER | FIND "Windows 10" > NUL
IF %ERRORLEVEL% EQU 0 (
ECHO 너는 사용한다 Windows 10.
) ELSE (
ECHO 다른 운영체제를 사용하고 있습니다..
)
설명: 운영체제가 Windows 10인지 확인합니다. 그렇다면
"Windows 10을 사용하고 계십니다."라는 메시지가 나옵니다. 그렇지 않으면
"다른 운영 체제를 사용하고 있습니다."
그만큼
`IF`명령문을 사용하면 배치 스크립트에서 다양한 조건을 확인하고 그 결과에 따라 적절한 조치를 취할 수 있습니다.
"IF" Microsoft Windows 도움말에서 발췌
Microsoft Windows [Version 10.0.19045.3693]
(c) Copyright 1985-2023 Microsoft Corp.
C:\\WINDOWS>
배치 파일에서 조건 처리를 수행합니다.
IF [NOT] ERRORLEVEL 숫자 명령어
IF [NOT] 문자열1==문자열2 명령어
IF [NOT] EXIST 파일이름 명령어
NOT 조건이 거짓이면 명령을 수행하라고 지정합니다.
ERRORLEVEL 숫자 마지막 프로그램 실행에서 반환된 마침 코드가
지정된 숫자보다 크거나 같으면, 조건을 참으로 지정합니다.
문자열1==문자열2 지정된 문자열이 일치하면 조건을 참으로 지정합니다.
EXIST 파일이름 지정된 파일이름이 있으면 조건을 참으로 지정합니다.
명령? 조건이 만족되면 실행할 명령을 지정합니다.
지정된 조건이 FALSE인 경우에는
ELSE 키워드 다음에 명령을 수행할
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
명령 확장을 사용하면 IF 구문은 다음과 같이 변경됩니다:
IF [/I] 문자열1 비교연산자 문자열2 명령
IF CMDEXTVERSION 숫자 명령
IF DEFINED 변수 명령
사용할 수 있는 비교 연산자는 다음과 같습니다:
EQU - 같음
NEQ - 같지 않음
LSS - 보다 작은
LEQ - 작거나 같음
GTR - 보다 큰
GEQ - 크거나 같음
대/소문자를 구분하려면 /I 스위치를 사용하십시오.
/I 스위치는 If 구문의 문자열1==문자열2 형식에도 사용할 수 있습니다.
문자열1과 문자열2가 모두 숫자로 되어 있는 경우,
해당 문자열은 숫자로 변환되어 비교됩니다.
CMDEXTVERSION 조건은 명령 확장과 관련된
내부 버전 번호에 대하여 비교하는 것을 제외하고는
ERRORLEVEL과 비슷하게 동작합니다. 처음의 버전 번호는 1이며,
명령 확揚?증가하면 하나씩 증가합니다.
명령 확장자를 사용할 수 없다면 CMDEXTVERSION 조건은
True 값을 가질 수 없습니다.
DEFINED 조건은 환경 변수가 정의되어 있는 경우,
환경 변수 이름을 가져와 True 값을 반환하는 것을
제외하고는 EXISTS와 비슷하게 동작합니다.
%ERRORLEVEL%에서는 ERRORLEVEL과 같은 이름을 갖는
환경 변수가 정의되지 않은 경우, ERRORLEVEL의 현재 값을
문자열로 확장하며, 그렇지 않으면 지정된 값을 대신 제공합니다.
프로그램을 실행한 후, 다음 예제에서는 ERRORLEVEL 사용을
설명합니다.
goto answer%ERRORLEVEL%
:answer0
echo Program had return code 0
:answer1
echo Program had return code 1
또한 위의 숫자 비교를 사용할 수 있습니다.
IF %ERRORLEVEL% LEQ 1 goto okay
CMDCMDLINE과 같은 이름을 갖는 환경 변수가 정의되지 않은 경우,
CMD.EXE의 모든 프로세스에 앞서 %CMDCMDLINE%을
CMD.EXE로 전달되는 원래의 명령줄로 확장하며,
그렇지 않으면 지정된 값을 대신 제공합니다.
%CMDEXTVERSION%에서는 CMDEXTVERSION과 같은
이름을 갖는 환경 변수가 정의되지 않은 경우,
CMDEXTVERSION의 현?값을 문자열로 확장합니다.
그렇지 않으면, 지정된 값을 대신 제공합니다.
중요 정보, "IF" 명령에 대한 팁
사용할 때
`IF`Windows 명령 프롬프트의 명령문에는 주의해야 할 몇 가지 중요한 사항이 있습니다.
1.
조건 구문 :`IF`- 진술에는 조건의 올바른 표현이 필요합니다. 비교 연산자(
`EQU`,
`NEQ`,
`LSS`,
`LEQ`,
`GTR`,
`GEQ`)은 비교할 값 사이에 있어야 합니다. 예기치 않은 오류를 방지하려면 구문의 공백을 참고하세요.
2.
따옴표 사용: 문자열을 확인할 때 조건이 올바르게 평가되도록 따옴표를 사용하는 것이 중요합니다. 예:
`IF "%Variable%"=="값" ...`
3.
변수: 조건에 변수를 사용하는 경우 변수가 올바르게 일치하는지 확인하세요.
`%`와 같이 동봉되어 있습니다.
`%Variable%`. 이렇게 하면 변수 값이 조건에 올바르게 삽입됩니다.
4.
ELSE 문: `ELSE`문은 닫는 괄호와 같은 줄에 있어야 합니다.
`IF`서거나 새로운 줄에서 시작하세요. 예:
IF 상태 (
Echo 조건이 참입니다.
) ELSE (
Echo 조건이 거짓입니다.
)
5.
참고`%ERRORLEVEL%`명령 뒤에:`IF`다른 명령 다음에 명령을 수행할 수 있습니다.
`%ERRORLEVEL%`이 명령의 성공 또는 실패를 확인합니다. 예:
DIR C:\존재하지 않는 디렉토리
IF %ERRORLEVEL% NEQ 0 (
Echo 실행 중 오류가 발생했습니다. DIR-명령.
)
6.
수치적 비교: 수치적 비교를 위해서는 다음을 수행해야 합니다.
`EQU`,
`NEQ`,
`LSS`,
`LEQ`,
`GTR`,
`GEQ`비교가 올바르게 이루어졌는지 확인합니다.
7.
논리 연산자: 다음과 같은 논리 연산자를 사용할 수 있습니다.
`AND`(
`&&`) 그리고
`OR`(
`||`) 복잡한 조건을 생성합니다. 예:
IF Exist 파일.txt IF %Variable% EQU 값 (
Echo 두 조건 모두 참입니다..
)
8.
다른 명령과의 조합: 이렇게 할 수 있습니다
`IF`-문장을 다른 명령과 결합하여 조건에 따라 다른 작업을 수행합니다.
9.
공백: 조건이나 명령에 불필요한 공백을 사용하지 않도록 주의하세요. 예기치 않은 동작이 발생할 수 있습니다.
의 구문을 이해하는 것이 중요합니다.
`IF`- 지시사항을 주의 깊게 이해하고 원하는 동작을 달성하기 위해 조건이 올바르게 공식화되었는지 확인하십시오. 확실하지 않은 경우 공식 Microsoft 설명서나 온라인 리소스를 참조할 수 있습니다.