DOS 배치 프로그램에서 사용하는 IF 비교 연산자에는 equ, neq, gtr, geq, leq, lss 가 있습니다. 숫자는 물론 문자의 대소를 비교할 수 있습니다.
DOS 배치 프로그램 비교연산자
DOS 배치 프로그램 작성에서 사용하는 비교 연산자의 종류는 다음과 같습니다.
DOS배치 비교 연산자 | 설명 |
---|---|
equ | equal (동등) |
neq | not equal (부정) |
gtr | greater (초과) |
geq | greater than equal (이상) |
leq | less than equal (이하) |
lss | less (미만) |
== | 문자 비교에 만 사용 |
비교연산자 equ 예
%VAR1%의 값과 %VAR2%의 값이 같으면 result1 다르면 result2 을 표시합니다.
SET VAR1=BBC
SET VAR2=BBC
IF "%VAR1%" equ "%VAR2%" (
echo result1
) else (
echo result2
)
비교값이 같기 때문에 다음과 같습니다.
result1
SET VAR1=ABC
SET VAR2=BBC
IF "%VAR1%" equ "%VAR2%" (
echo result1
) else (
echo result2
)
비교값이 다르기 때문에 다음과 같습니다.
result2
비교연산자 neq 예
%VAR1%의 값과 %VAR2%의 값이 다르면 result1 같으면 result2 을 표시합니다.
SET VAR1=ABC
SET VAR2=BBC
IF "%VAR1%" neq "%VAR2%" (
echo result1
) else (
echo result2
)
비교값이 다르기 때문에 결과는 다음과 같습니다.
result1
SET VAR1=ABC
SET VAR2=ABC
IF "%VAR1%" neq "%VAR2%" (
echo result1
) else (
echo result2
)
비교값이 같기 때문에 결과는 다음과 같습니다.
result2
비교연산자 gtr 예
%VAR1%의 값이 %VAR2%의 값보다 크면 result1 같거나 작으면 result2 을 표시합니다.
SET VAR1=201
SET VAR2=200
IF "%VAR1%" gtr "%VAR2%" (
echo result1
) else (
echo result2
)
비교값이 크기 때문에 결과는 다음과 같습니다.
result1
SET VAR1=200
SET VAR2=200
IF "%VAR1%" gtr "%VAR2%" (
echo result1
) else (
echo result2
)
비교값이 같기 때문에 결과는 다음과 같습니다.
result2
SET VAR1=100
SET VAR2=200
IF "%VAR1%" gtr "%VAR2%" (
echo result1
) else (
echo result2
)
비교값이 작기 때문에 결과는 다음과 같습니다.
result2
비교연산자 geq 예
%VAR1%의 값이 %VAR2%의 값보다 크거나 같으면 result1 작으면 result2 을 표시합니다.
SET VAR1=201
SET VAR2=200
IF "%VAR1%" geq "%VAR2%" (
echo result1
) else (
echo result2
)
비교값이 크기 때문에 결과는 다음과 같습니다.
result1
SET VAR1=200
SET VAR2=200
IF "%VAR1%" geq "%VAR2%" (
echo result1
) else (
echo result2
)
비교값이 같기 때문에 결과는 다음과 같습니다.
result1
SET VAR1=100
SET VAR2=200
IF "%VAR1%" geq "%VAR2%" (
echo result1
) else (
echo result2
)
비교값이 작기 때문에 결과는 다음과 같습니다.
result2
비교연산자 leq예
%VAR1%의 값이 %VAR2%의 값보다 작거나 같으면 result1 크면 result2 을 표시합니다.
SET VAR1=199
SET VAR2=200
IF "%VAR1%" leq "%VAR2%" (
echo result1
) else (
echo result2
)
비교값이 작기 때문에 결과는 다음과 같습니다.
result1
SET VAR1=200
SET VAR2=200
IF "%VAR1%" leq "%VAR2%" (
echo result1
) else (
echo result2
)
비교값이 같기 때문에 결과는 다음과 같습니다.
result1
SET VAR1=299
SET VAR2=200
IF "%VAR1%" leq "%VAR2%" (
echo result1
) else (
echo result2
)
비교값이 크기 때문에 결과는 다음과 같습니다.
result2
비교연산자 lss 예
%VAR1%의 값이 %VAR2%의 값보다 작으면 result1 크거나 같으면 result2 을 표시합니다.
SET VAR1=199
SET VAR2=200
IF "%VAR1%" lss "%VAR2%" (
echo result1
) else (
echo result2
)
비교값이 작기 때문에 결과는 다음과 같습니다.
result1
SET VAR1=200
SET VAR2=200
IF "%VAR1%" lss "%VAR2%" (
echo result1
) else (
echo result2
)
비교값이 같기 때문에 결과는 다음과 같습니다.
result2
SET VAR1=299
SET VAR2=200
IF "%VAR1%" lss "%VAR2%" (
echo result1
) else (
echo result2
)
비교값이 크기 때문에 결과는 다음과 같습니다.
result2
비교연산자 == 예
비교 문자 일치
%VAR1%의 값과 %VAR2%의 값이 같으면 result1 다르면 result2 을 표시합니다.
SET VAR1=BBC
SET VAR2=BBC
IF "%VAR1%" == "%VAR2%" (
echo result1
) else (
echo result2
)
비교값이 같기 때문에 결과는 다음과 같습니다.
result1
비교 문자 불일치
%VAR1%의 값과 %VAR2%의 값이 같으면 result1 다르면 result2 을 표시합니다.
SET VAR1=bbc
SET VAR2=BBC
IF "%VAR1%" == "%VAR2%" (
echo result1
) else (
echo result2
)
비교값이 다르기때문에 결과는 다음과 같습니다.
result2
대소문자를 구별 없이 문자 비교하기
IF문에 옵션 /i 를 붙이면 비교대상의 대문자와 소문자를 구별하지 않습니다.
SET VAR1=bbc
SET VAR2=BBC
IF /i "%VAR1%" == "%VAR2%" (
echo result1
) else (
echo result2
)
대문자와 소문자를 구별하지 않으면 비교값이 같기 때문에 결과는 다음과 같습니다.
result1