(DOS 배치 프로그램 작성) IF 비교 연산자 ( equ, neq, gtr, geq, leq, lss )

DOS배치파일 작성 팁

DOS 배치 프로그램에서 사용하는 IF 비교 연산자에는 equ, neq, gtr, geq, leq, lss 가 있습니다. 숫자는 물론 문자의 대소를 비교할 수 있습니다.

DOS 배치 프로그램 비교연산자

DOS 배치 프로그램 작성에서 사용하는 비교 연산자의 종류는 다음과 같습니다.

DOS배치 비교 연산자설명
equequal (동등)
neqnot equal (부정)
gtrgreater (초과)
geqgreater than equal (이상)
leqless than equal (이하)
lssless (미만)
==문자 비교에 만 사용

비교연산자 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

제목과 URL을 복사했습니다