在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>
此语法使用两个参数:original
和substitute
。 这些用逗号分隔。
示例:
$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
的值是一个字符串。