TEMA
about_Logical_Operators
DESCRIPCIÓN BREVE
Describe los operadores que conectan instrucciones de Windows
PowerShell.
DESCRIPCIÓN DETALLADA
Los operadores lógicos de Windows PowerShell conectan expresiones e
instrucciones, permitiendo el uso de una sola expresión para
comprobar si se cumplen varias condiciones.
Por ejemplo, en la instrucción siguiente se usan el operador and y el
operador or para conectar tres instrucciones condicionales. El valor de la
instrucción es True únicamente si el valor de $a es mayor que el
valor de $b y si $a o $b es menor que 20.
($a -gt $b) -and (($a -lt 20) -or ($b -lt 20))
Windows PowerShell admite los siguientes operadores lógicos.
Operador Descripción Ejemplo
-------- ------------------------------ ------------------------
-and And lógico. Devuelve TRUE (1 -eq 1) -and (1 -eq 2)
únicamente si ambas False
instrucciones son TRUE.
-or Or lógico. Devuelve TRUE si (1 -eq 1) -or (1 -eq 2)
una o ambas instrucciones True
son TRUE.
-xor Or lógico exclusivo. Devuelve (1 -eq 1) -xor (2 -eq 2)
TRUE únicamente si una de las False
instrucciones es TRUE y la otra
es FALSE.
-not Not lógico. Niega la -not (1 -eq 1)
instrucciónque figura False
a continuación.
! Not lógico. Niega la !(1 -eq 1)
instrucción que figura a False
continuación (es lo mismo
que -not).
Nota: en los ejemplos anteriores se usa también el operador de igualdad
(-eq). Para obtener más información, vea about_Comparison_Operators.
En los ejemplos se usan también los valores booleanos de
los enteros. El entero 0 tiene el valor FALSE. Todos los
demás enteros tienen el valor TRUE.
Esta es la sintaxis de los operadores lógicos:
<instrucción> {-AND | -OR | -XOR} <instrucción>
{! | -NOT} <instrucción>
Las instrucciones con operadores lógicos devuelven valores
booleanos (TRUE o FALSE).
Los operadores lógicos de Windows PowerShell evalúan únicamente las
instrucciones necesarias para determinar el valor de la instrucción.
Si el operando izquierdo en una instrucción que contiene el operador
and es FALSE, no se evalúa el operando derecho. Si el operando izquierdo
en una instrucción que contiene el operador or es TRUE, no se evalúa el
operando derecho. Como resultado, estas instrucciones se pueden usar
del mismo modo que la instrucción If.
VEA TAMBIÉN
about_Operators
Compare-Object
about_Comparison_operators
about_If