Script de lote - operadores lógicos

Operadores lógicos são usados ​​para avaliar expressões booleanas. A seguir estão os operadores lógicos disponíveis.

A linguagem de lote é equipada com um conjunto completo de operadores lógicos booleanos como AND, OR, XOR, mas apenas para números binários. Também não há valores para TRUE ou FALSE. O único operador lógico disponível para as condições é o operador NOT.

A maneira mais fácil de implementar o operador AND / OR para números não binários é usar a condição IF aninhada. O exemplo a seguir mostra como isso pode ser implementado.

Exemplo

@echo off
SET /A a = 5
SET /A b = 10
IF %a% LSS 10 (IF %b% GTR 0 (ECHO %a% is less than 10 AND %b% is greater than 0))

Resultado

O comando acima produz a seguinte saída.

5 is less than 10 AND 10 is greater than 0

A seguir está um exemplo da operação AND que pode ser implementada usando a instrução IF.

Exemplo

@echo off
SET /A a = 5
SET /A b = 10

IF %a% GEQ 10 (
   IF %b% LEQ 0 (
      ECHO %a% is NOT less than 10 OR %b% is NOT greater than 0
   ) ELSE (
      ECHO %a% is less than 10 OR %b% is greater than 0
   )
) ELSE (
   ECHO %a% is less than 10 OR %b% is greater than 0
)

Resultado

O comando acima produz a seguinte saída.

5 is less than 10 AND 10 is greater than 0

A seguir está um exemplo de como o operador NOT pode ser usado.

Exemplo

@echo off
SET /A a = 5
IF NOT %a%==6 echo "A is not equal to 6"

Resultado

O comando acima produz a seguinte saída.

"A is equal to 5"