about_Logical_Operators

Descrição breve

Descreve os operadores que conectam instruções no PowerShell.

Descrição longa

Os operadores lógicos do PowerShell conectam expressões e instruções, permitindo que você use uma única expressão para testar várias condições.

Por exemplo, a instrução a seguir usa o operador and e o operador or para conectar três instruções condicionais. A afirmação é verdadeira somente quando o valor de $a é maior que o valor de $b e $a ou $b é menor que 20.

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

O PowerShell oferece suporte aos seguintes operadores lógicos.

  • Lógico E (-and) - VERDADEIRO quando ambas as afirmações são VERDADEIRAS.

    (1 -eq 1) -and (1 -eq 2)   # Result is False
    
  • Lógico OU (-or) - VERDADEIRO quando uma das afirmações é TRUE.

    (1 -eq 1) -or (1 -eq 2)    # Result is True
    
  • Lógico EXCLUSIVO OU (-xor) - VERDADEIRO quando apenas uma afirmação é VERDADEIRA

    (1 -eq 1) -xor (2 -eq 2)   # Result is False
    
  • Lógico não ()-not ou (!) - Nega a afirmação que se segue.

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

Os exemplos anteriores também usam o operador -eqequal to comparison . Para obter mais informações, consulte about_Comparison_Operators. Os exemplos também usam os valores booleanos de inteiros. O inteiro 0 tem um valor de FALSE. Todos os outros inteiros têm um valor de TRUE.

A sintaxe dos operadores lógicos é a seguinte:

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

As instruções que usam os operadores lógicos retornam valores booleanos (TRUE ou FALSE).

Os operadores lógicos do PowerShell avaliam apenas as instruções necessárias para determinar o valor verdade da instrução. Se o operando esquerdo em uma instrução que contém o operador and for FALSE, o operando direito não será avaliado. Se o operando esquerdo em uma instrução que contém a instrução or for TRUE, o operando direito não será avaliado. Como resultado, você pode usar essas instruções da mesma maneira que usaria a If instrução.

Confira também