about_Logical_Operators

Descripción breve

Describe los operadores que conectan instrucciones en PowerShell.

Descripción larga

Los operadores lógicos de PowerShell conectan expresiones e instrucciones, lo que permite usar una sola expresión para probar varias condiciones.

Por ejemplo, la siguiente instrucción usa el operador y y el operador o para conectar tres instrucciones condicionales. La instrucción es true solo cuando el valor de $a es mayor que el valor de $b y $a o $b es menor que 20.

($a -gt $b) -and (($a -lt 20) -or ($b -lt 20))

PowerShell admite los siguientes operadores lógicos.

  • AND lógico (-and): TRUE cuando ambas instrucciones son TRUE.

    (1 -eq 1) -and (1 -eq 2)   # Result is False
    
  • OR lógico (-or): TRUE cuando cualquiera de las instrucciones es TRUE.

    (1 -eq 1) -or (1 -eq 2)    # Result is True
    
  • OR EXCLUSIVO lógico (-xor): TRUE cuando solo una instrucción es TRUE

    (1 -eq 1) -xor (2 -eq 2)   # Result is False
    
  • Lógico no (-not) o (!): niega la instrucción siguiente.

    -not (1 -eq 1)             # Result is False
    !(1 -eq 1)                 # Result is False
    

En los ejemplos anteriores también se usa el operador -eqde comparación igual a . Para obtener más información, consulte about_Comparison_Operators. Los ejemplos también usan los valores booleanos de enteros. El entero 0 tiene un valor false. Todos los demás enteros tienen un valor true.

La sintaxis de los operadores lógicos es la siguiente:

<statement> {-AND | -OR | -XOR} <statement>
{! | -NOT} <statement>

Las instrucciones que usan los operadores lógicos devuelven valores booleanos (TRUE o FALSE).

Los operadores lógicos de PowerShell evalúan solo las instrucciones necesarias para determinar el valor de verdad de la instrucción. Si el operando izquierdo de una instrucción que contiene el operador y es FALSE, el operando derecho no se evalúa. Si el operando izquierdo de una instrucción que contiene la instrucción o es TRUE, no se evalúa el operando derecho. Como resultado, puede usar estas instrucciones de la misma manera que usaría la If instrucción .

Consulte también