about_Logical_Operators
Aplica-se a: Windows PowerShell 2.0, Windows PowerShell 3.0
TÓPICO
about_Logical_Operators
DESCRIÇÃO BREVE
Descreve os operadores que conectam instruções no Windows PowerShell®.
DESCRIÇÃO LONGA
Os operadores lógicos do Windows PowerShell conectam expressões e instruções, permitindo que você use uma só 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 instrução somente será verdadeira quando o valor de $a for maior que o valor de $b, e quando $a ou $b for menor que 20.
($a -gt $b) -and (($a -lt 20) -or ($b -lt 20))
O Windows PowerShell dá suporte aos seguintes operadores lógicos.
Operator Description Example
-------- ------------------------------ ------------------------
-and Logical and. TRUE only when (1 -eq 1) -and (1 -eq 2)
both statements are TRUE. False
-or Logical or. TRUE when either (1 -eq 1) -or (1 -eq 2)
or both statements are TRUE. True
-xor Logical exclusive or. TRUE (1 -eq 1) -xor (2 -eq 2)
only when one of the statements False
is TRUE and the other is FALSE.
-not Logical not. Negates the -not (1 -eq 1)
statement that follows it. False
! Logical not. Negates the !(1 -eq 1)
statement that follows it. False
(Same as -not)
Observação:
Os exemplos anteriores também usam o operador de comparação de igualdade (-eq). Para obter mais informações, consulte about_Comparison_Operators. Os exemplos também usam os valores boolianos de números inteiros. O inteiro 0 tem um valor de FALSE. Todos os outros números inteiros têm um valor de TRUE.
A sintaxe dos operadores lógicos é a seguinte:
<statement> {-AND | -OR | -XOR} <statement>
{! | -NOT} <statement>
Instruções que usam os operadores lógicos retornam valores boolianos (TRUE ou FALSE).
Os operadores lógicos do Windows PowerShell somente avaliam apenas as instruções necessárias para determinar o real valor da instrução. Se o operando esquerdo de uma instrução que contiver o operador and for FALSE, o operando à direita não será avaliado. Se o operando esquerdo de uma instrução que contiver o operador ou for TRUE, o operando à direita não será avaliado. Como resultado, você pode usar essas instruções da mesma maneira que usaria a instrução If.
CONSULTE TAMBÉM
about_Operators
Compare-Object
about_Comparison_operators
about_If