在PowerShell中使用逻辑运算符将表达式或语句连接在一起以形成单个表达式。 包含这些运算符的表达式通常会计算布尔值为True
或False
。 这些运算符使我们可以使用单个表达式来测试多个条件。
PowerShell支持以下逻辑运算符:
-and
(逻辑与)-or
(逻辑或)-xor
(逻辑XOR)-not
(逻辑非)!
(与逻辑非相同)-and(逻辑与)AND
运算符是逻辑运算符,如果两个条件在表达式中都正确,则返回布尔值TRUE
。
示例: 下面的示例描述如何使用逻辑AND
运算符:
$a=10 $b=20 ($a -lt $b) -and ($a -eq 10)
本示例中的最后一条命令显示布尔值TRUE
,因为两个条件均为TRUE
。
-or(逻辑或)OR
运算符是逻辑运算符,如果表达式中的至少一个条件为TRUE,则返回布尔值
TRUE`。
示例:下面的示例描述如何使用逻辑或运算符:
$a=5 $b=30 ($a -lt $b) -or ($a -eq 11)
本示例中的最后一条命令显示布尔值TRUE,因为此语句中的第一个条件正确。
-xor(逻辑XOR)XOR
运算符是逻辑运算符,如果表达式中只有一个条件正确,则它将返回布尔值TRUE
。 当表达式中有多个语句正确时,此运算符将返回FALSE
。
示例:以下示例描述了如何使用逻辑XOR
运算符:
$a=5 $b=30 ($a -lt $b) -xor ($a -eq 11) -xor ( $b -eq 30)
本示例中的最后一条命令显示布尔值FALSE
,因为在此表达式中,两个条件均正确。
-not(逻辑非)NOT
运算符是产生表达式相反结果的逻辑运算符。如果表达式的值为TRUE
,则此运算符将返回FALSE
,反之亦然。
示例:下面的示例描述如何使用逻辑NOT
运算符:
$a=5 $b=30 -not ( $b -eq 30)
此示例中的最后一条命令显示布尔值FALSE
,因为在表达式中条件是正确的,但此运算符却相反。
! (与逻辑非相同)
此运算符与产生表达式相反结果的逻辑NOT
运算符相同。
示例:下面的示例描述如何使用此运算符:
$a=5 $b=30 ! ($a -gt $b)
此示例中的最后一条命令显示布尔值TRUE
,因为在表达式中条件不正确,但是此运算符将结果取反。