本文概述
在PowerShell中, 比较运算符用于比较值。默认情况下, 所有比较运算符均区分大小写。这些运算符可帮助我们查找, 测试, 比较, 修改和替换数据和信息。
PowerShell支持以下比较运算符:
- 平等经营者
- 匹配运算符
- 遏制运营商
- 替代运营商
- 类型运算符
平等经营者
相等运算符是那些运算符, 它们检查两个值的相等性, 还检查一个值大于或小于另一个值。
以下是相等比较运算符的列表:
- -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的值相同。
匹配运算符
匹配运算符是那些运算符, 它们使用正则表达式或通配符比较字符串以找到匹配项。
以下是匹配的运算符的列表:
- -喜欢
- 像
- -比赛
- -不匹配
-喜欢
如果使用通配符匹配字符串, 则-like运算符将返回布尔值TRUE。
示例:以下示例描述了如何使用-like运算符:
范例1:
$a="PowerShell"
$b="PowerShell"
$a -like $b
由于两个字符串相同, 因此在example1中, 最后一条命令返回TRUE值。
范例2:
$a="PowerShell"
$b="*Shell"
$a -like $b
此示例中的最后一条命令返回TRUE值, 因为变量$ a中存在” Shell”字符串。
像
如果字符串与通配符不匹配, 则-notlike运算符将返回布尔值TRUE。
示例:以下示例描述了如何使用-notlike运算符:
范例1:
$a="PowerShell"
$b="windows"
$a -notlike $b
上面示例中的最后一条命令返回TRUE值, 因为字符串不匹配。
范例2:
$a="PowerShell"
$b="*Shell"
$a -notlike $b
此示例中的最后一条命令返回False值, 因为变量$ a中存在” Shell”字符串。
-比赛
如果使用通配符匹配字符串, 则-match运算符将返回布尔值TRUE。如果输入是列表, 则-match运算符返回列表的匹配成员。
例:
$a="January", "February", "March", "April"
$b="Feb"
$a -match $b
本示例中的最后一条命令返回字符串” February”。
-不匹配
当字符串与通配符不匹配时, -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
遏制运营商
包含运算符类似于相等运算符。当运算符右侧的值存在于运算符左侧的值集中时, 这些运算符始终返回布尔值True。否则, 返回False。
以下是遏制运算符的列表:
- -包含
- -不包含
- -在
- -notin
-包含
当运算符右侧的值存在于运算符左侧的值集中时, 此运算符将返回布尔值TRUE。
例:
$a="January", "February", "March", "April"
$b="March"
$a -contains $b
本示例中的最后一条命令返回True。
-不包含
当运算符右侧的值在运算符左侧的值集中不存在时, 此运算符返回布尔值TRUE。
例:
$a="January", "February", "March", "April"
$b="March"
$a -notcontains $b
本示例中的最后一条命令返回False。
-在
当运算符左侧的值存在于运算符右侧的值集中时, 此运算符将返回布尔值TRUE。
例:
$b="March"
$b="February", "March", "April"
$a -in $b
本示例中的最后一条命令返回True。
-notin
当运算符左侧的值不存在于运算符右侧的值集中时, 此运算符将返回布尔值TRUE。
例:
$b="March"
$b="February", "March", "April"
$a -notin $b
本示例中的最后一条命令返回False。
替换运算符
替换运算符(-replace)是一个运算符, 它使用正则表达式将值的全部或部分替换为指定值。
以下语句是-replace运算符的语法:
<input> <operator> <original> , <substitute>
此语法使用两个参数:原始和替代。这些用逗号分隔。
例:
$a="Windows and Linux Operating system"
$a -replace "Linux" , "MacOS"
本示例中的第二条命令显示以下输出:
Windows and MacOS operating system
类型比较运算符
类型比较运算符是那些运算符, 当运算符左侧的值指定为Microsoft .NET类型时, 它们将返回布尔值TRUE, 否则返回False。
PowerShell支持以下两种类型比较运算符:
- -是
- -不是
-是
当运算符左侧的值指定为Microsoft .NET类型时, 此运算符将返回True。
例:
$a=1
$a -is [int]
该示例中的第二条命令显示布尔值True, 因为变量$ a的值是整数。
-不是
当未将运算符左侧的值指定为Microsoft .NET类型时, -isnot运算符将返回布尔值True。
例:
$a="1"
$a -is [int]
该示例中的第二条命令显示布尔值True, 因为变量$ a的值是一个字符串。
评论前必须登录!
注册