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"