Script por lotes: operadores lógicos
Los operadores lógicos se utilizan para evaluar expresiones booleanas. A continuación se muestran los operadores lógicos disponibles.
El lenguaje por lotes está equipado con un conjunto completo de operadores lógicos booleanos como AND, OR, XOR, pero solo para números binarios. Tampoco hay valores para VERDADERO o FALSO. El único operador lógico disponible para las condiciones es el operador NOT.
La forma más sencilla de implementar el operador AND / OR para números no binarios es utilizar la condición IF anidada. El siguiente ejemplo muestra cómo se puede implementar.
Ejemplo
@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))
Salida
El comando anterior produce la siguiente salida.
5 is less than 10 AND 10 is greater than 0
A continuación se muestra un ejemplo de la operación AND que se puede implementar utilizando la instrucción IF.
Ejemplo
@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
)
Salida
El comando anterior produce la siguiente salida.
5 is less than 10 AND 10 is greater than 0
A continuación se muestra un ejemplo de cómo se puede utilizar el operador NOT.
Ejemplo
@echo off
SET /A a = 5
IF NOT %a%==6 echo "A is not equal to 6"
Salida
El comando anterior produce la siguiente salida.
"A is equal to 5"