PowerShell比较运算符

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

PowerShell支持以下比较运算符:

  • 相等运算符
  • 匹配运算符
  • 容量运算符
  • 替代运算符
  • 类型运算符

1.相等运算符

相等运算符是那些运算符,它们检查两个值的相等性,还检查一个值大于或小于另一个值。

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

  • -eq(等于)
  • -ne(不等于)
  • -gt(大于)
  • -ge(大于或等于)
  • -lt(小于)
  • -le(小于或等于)

-eq(等于)

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

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

$a=10  
$b=10  
($a -eq $b)

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

-ne(等于)

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

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

$a=10  
$b=10  
($a -ne $b)

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

-gt(大于)

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

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

$a=20  
$b=10  
($a -gt $b)

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

-ge(大于或等于)

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

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

$a=10  
$b=10  
($a -ge $b)

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

-lt(小于)

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

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

$a=10  
$b=20  
($a -lt $b)

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

-le(小于或等于)

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

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

$a=10  
$b=10  
($a -le $b)

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

2.匹配运算符

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

以下是匹配的运算符的列表:

  • -like
  • -notlike
  • -match
  • -notmatch

-like

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

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

示例1:

$a="PowerShell"  
$b="PowerShell"  
$a -like $b

由于两个字符串相同,因此在示例1中,最后一条命令返回TRUE值。

示例2:

$a="PowerShell"  
$b="*Shell"  
$a -like $b

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

-nolike

如果字符串与通配符不匹配,则-notlike运算符将返回布尔值TRUE
以下示例描述了如何使用-notlike运算符:

示例1:

$a="PowerShell"  
$b="windows"  
$a -notlike $b

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

示例2:

$a="PowerShell"  
$b="*Shell"  
$a -notlike $b

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

-match

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

示例:

$a="January", "February", "March", "April"   
$b="Feb"  
$a -match $b

本示例中的最后一条命令返回字符串"February"

-notmatch

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

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

示例1:

$a="PowerShell"  
$b="ell"  
$a -notmatch $b

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

示例2:

$a="January", "February", "March", "April"   
$b="Feb"  
$a -notmatch $b

本示例中的最后一条命令返回以下字符串:

January
March
April

3.包含运算符

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

以下是包含运算符的列表:

  • -contains
  • -notcontains
  • -in
  • -notin

-contains

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

示例:

$a="January", "February", "March", "April"   
$b="March"  
$a -contains $b

本示例中的最后一条命令返回True

-notContains

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

示例:

$a="January", "February", "March", "April"   
$b="March"  
$a -notcontains $b

本示例中的最后一条命令返回False

-in

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

示例:

$b="March"  
$b="February", "March", "April"   
$a -in $b

本示例中的最后一条命令返回True

-notin

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

示例:

$b="March"  
$b="February", "March", "April"   
$a -notin $b

本示例中的最后一条命令返回False

4.替换运算符

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

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

<input> <operator> <original> , <substitute>

此语法使用两个参数:originalsubstitute。 这些用逗号分隔。
示例:

$a="Windows and Linux Operating system"  
$a -replace "Linux" , "MacOS"

本示例中的第二条命令显示以下输出:

Windows and MacOS operating system

5.类型比较运算符

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

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

-is

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

$a=1  
$a -is [int]

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

-isnot

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

示例:

$a="1"  
$a -isnot [int]  
$b=1  
$b -isnot [int]

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


上一篇:PowerShell赋值运算符

下一篇:PowerShell逻辑运算符

关注微信小程序
程序员编程王-随时随地学编程

扫描二维码
程序员编程王

扫一扫关注最新编程教程