比较运算符

17 Mar 2025 | 6 分钟阅读

比较运算符用于 PowerShell 中比较值。默认情况下,所有比较运算符都区分大小写。 这些运算符帮助我们查找、测试、比较、修改和替换数据及信息。

PowerShell 支持以下比较运算符

PowerShell Comparison Operators
  1. 相等运算符
  2. 匹配运算符
  3. 包含运算符
  4. 替换运算符
  5. 类型运算符

相等运算符

相等运算符是那些检查两个值是否相等,并检查一个值是否大于或小于另一个值的运算符。

以下是相等比较运算符的列表

  1. -eq (等于)
  2. -ne (不等于)
  3. -gt (大于)
  4. -ge (大于或等于)
  5. -lt (小于)
  6. -le (小于或等于)

-eq (等于)

如果值相等,则此运算符返回布尔值 TRUE,否则返回 False

示例:以下示例描述如何使用 -eq(等于)运算符

此示例中的最后一个命令显示布尔值 TRUE,因为变量的值相同。

-ne (不等于)

如果值不相等,则此运算符返回布尔值 TRUE,否则返回 False

示例:以下示例描述如何使用 -eq(等于)运算符

此示例中的最后一个命令显示布尔值 FALSE,因为变量的值相同。

-gt (大于)

如果运算符左侧的变量值大于运算符右侧的变量值,则此运算符返回布尔值 TRUE,否则返回 False

示例:以下示例描述如何使用 -gt(大于)运算符

此示例中的最后一个命令显示布尔值 TRUE,因为变量 $a 的值大于 $b

-ge (大于或等于)

如果运算符左侧的变量值大于或等于运算符右侧的变量值,则此运算符返回布尔值 TRUE,否则返回 False

示例:以下示例描述如何使用 -ge(大于或等于)运算符

此示例中的最后一个命令显示布尔值 TRUE,因为变量 $a$b 的值相同。

-lt (小于)

如果运算符左侧的变量值小于运算符右侧的变量值,则此运算符返回布尔值 TRUE,否则返回 False

示例:以下示例描述如何使用 -lt(小于)运算符

此示例中的最后一个命令显示布尔值 TRUE,因为变量 $a 的值小于 $b

-le (小于或等于)

如果运算符左侧的变量值小于或等于运算符右侧的变量值,则此运算符返回布尔值 TRUE,否则返回 False

示例:以下示例描述如何使用 -le(小于或等于)运算符

此示例中的最后一个命令显示布尔值 TRUE,因为变量 $a$b 的值相同。

匹配运算符

匹配运算符是那些使用正则表达式或通配符比较字符串以查找匹配项的运算符。

以下是匹配运算符的列表

  1. -like
  2. -notlike
  3. -match
  4. -notmatch

-like

如果使用通配符匹配字符串,则 -like 运算符返回布尔值 TRUE

示例:以下示例描述如何使用 -like 运算符

示例 1

示例 1 中的最后一个命令返回 TRUE 值,因为两个字符串相同。

示例 2

此示例中的最后一个命令返回 TRUE 值,因为变量 $a 中存在 "Shell" 字符串。

-notlike

如果使用通配符不匹配字符串,则 -notlike 运算符返回布尔值 TRUE

示例:以下示例描述如何使用 -notlike 运算符

示例 1

上面的示例中的最后一个命令返回 TRUE 值,因为字符串不匹配。

示例 2

此示例中的最后一个命令返回 False 值,因为变量 $a 中存在 "Shell" 字符串。

-match

如果使用通配符匹配字符串,则 -match 运算符返回布尔值 TRUE。如果输入是列表,则 -match 运算符返回列表的匹配成员。

示例

此示例中的最后一个命令返回字符串“February”。

-notmatch

当使用通配符不匹配字符串时,-notmatch 运算符返回布尔值 True

示例:以下示例描述如何使用 -notmatch 运算符

示例 1

此示例中的最后一个命令返回 FALSE 值,因为字符串 "ell" 存在于变量 $a 的字符串中。

示例 2

此示例中的最后一个命令返回以下字符串

January
March
April

包含运算符

包含运算符与相等运算符类似。当运算符右侧的值存在于运算符左侧的值集中时,这些运算符始终返回布尔值 True,否则返回 False

以下是包含运算符的列表

  1. -contains
  2. -notcontains
  3. -in
  4. -notin

-Contains

当运算符右侧的值存在于运算符左侧的值集中时,此运算符返回布尔值 TRUE

示例

此示例中的最后一个命令返回 True

-notContains

当运算符右侧的值不存在于运算符左侧的值集中时,此运算符返回布尔值 TRUE

示例

此示例中的最后一个命令返回 False

-in

当运算符左侧的值存在于运算符右侧的值集中时,此运算符返回布尔值 TRUE

示例

此示例中的最后一个命令返回 True

-notin

当运算符左侧的值不存在于运算符右侧的值集中时,此运算符返回布尔值 TRUE

示例

此示例中的最后一个命令返回 False

替换运算符

替换运算符 (-replace) 是一个运算符,它使用正则表达式将值的全部或部分替换为指定的值。

以下语句是 -replace 运算符的语法

此语法使用两个参数:Original 和 substitute。 这些参数用逗号分隔。

示例

此示例中的第二个命令显示以下输出

Windows and MacOS operating system

类型比较运算符

类型比较运算符是那些当运算符左侧的值被指定为 Microsoft .NET 类型时,返回布尔值 TRUE 的运算符,否则返回 False

PowerShell 支持以下两个类型比较运算符

  1. -is
  2. -isnot

-is

当运算符左侧的值被指定为 Microsoft .NET 类型时,此运算符返回 True

示例

示例中的第二个命令显示布尔值 True,因为变量 $a 的值是一个整数

-isnot

当运算符左侧的值未指定为 Microsoft .NET 类型时,-isnot 运算符返回布尔值 True

示例

示例中的第二个命令显示布尔值 True,因为变量 $a 的值是一个字符串


下一主题逻辑运算符