about_Logical_Operators
简短说明
介绍连接 PowerShell 中的语句的运算符。
长说明
PowerShell 逻辑运算符连接表达式和语句,允许使用单个表达式来测试多个条件。
例如,以下语句使用 and 运算符和 or 运算符来连接三个条件语句。 仅当 $a 的值大于 $b 的值并且 $a 或 $b 小于 20 时,该语句才为 true。
($a -gt $b) -and (($a -lt 20) -or ($b -lt 20))
PowerShell 支持以下逻辑运算符。
逻辑 AND (
-and
) - 当两个语句均为 TRUE 时为 TRUE。(1 -eq 1) -and (1 -eq 2) # Result is False
逻辑 OR (
-or
) - 当任一语句为 TRUE 时为 TRUE。(1 -eq 1) -or (1 -eq 2) # Result is True
逻辑 EXCLUSIVE OR (
-xor
) - 仅当一个语句为 TRUE 时为 TRUE(1 -eq 1) -xor (2 -eq 2) # Result is False
逻辑 not (
-not
) 或 (!
) - 否定后面的语句。-not (1 -eq 1) # Result is False !(1 -eq 1) # Result is False
前面的示例还使用等于比较运算符 -eq
。 有关详细信息,请参阅 about_Comparison_Operators。
这些示例还使用整数的布尔值。 整数 0 的值为 FALSE。 所有其他整数的值都为 TRUE。
逻辑运算符的语法如下所示:
<statement> {-AND | -OR | -XOR} <statement>
{! | -NOT} <statement>
使用逻辑运算符的语句返回布尔值(TRUE 或 FALSE)。
PowerShell 逻辑运算符只计算确定语句的事实值所需的语句。 如果包含 and 运算符的语句中的左操作数为 FALSE,则不会计算右操作数。 如果包含 or 语句的语句中的左操作数为 TRUE,则不会计算右操作数。 因此,可以采用与使用 If
语句相同的方式使用这些语句。