about_Logical_Operators

简短说明

描述在 PowerShell 中连接语句的运算符。

长说明

PowerShell 逻辑运算符连接表达式和语句,使你能够使用单个表达式来测试多个条件。

例如,下面的语句使用 和 运算符和 或 运算符来连接三个条件语句。 仅当 $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) - 如果任一语句为 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 (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 逻辑运算符仅计算确定语句真实值所需的语句。 如果包含 和 运算符的语句中的左操作数为 FALSE,则不计算右操作数。 如果包含 或 语句的语句中的左操作数为 TRUE,则不计算右操作数。 因此,可以使用与使用 语句相同的方式使用这些 If 语句。

另请参阅