如何在 PowerShell 中否定条件
-
使用
-not运算符在 PowerShell 中否定条件 -
使用
!运算符在 PowerShell 中否定条件 -
使用
-notmatch运算符在 PowerShell 中否定条件 -
使用
-ne运算符在 PowerShell 中否定条件 -
使用
-notlike运算符在 PowerShell 中否定条件 - 结论
PowerShell 具有不同的决策语句来执行代码,与其他编程语言相似。您可以在 PowerShell 脚本中使用条件进行决策。
这些脚本根据这些决策执行不同的操作。如果条件为 true,它将执行一个命令,如果条件为 false,它将执行另一个命令。
PowerShell 中最常用的语句之一是 If 语句。它有三种类型:if 语句、if-else 语句和嵌套 if 语句。
PowerShell 还使用 switch 语句作为条件语句。
这是一个简单的 if 语句示例。
if (5 -lt 7) {
Write-Host "5 is less than 7"
}
如果 5 小于 7,它将执行 Write-Host 命令。
输出:

逻辑运算符连接了 PowerShell 中的条件语句,使您能够测试多个条件。PowerShell 支持 -and、-or、-xor、-not 和!逻辑运算符。
本教程将教您在 PowerShell 中否定一个条件。
使用 -not 运算符在 PowerShell 中否定条件
在 PowerShell 中,-not 运算符是一个强大的否定条件的工具。它使您能够轻松反转逻辑表达式的结果,使您的脚本更加动态和灵活。
$condition = $true
if (-not $condition) {
Write-Host "Condition is false"
}
在这个示例中,我们将 $condition 初始化为 $true。当我们对 $condition 应用 -not 运算符时,由于原始条件为真,因此其值为 $false。因此,消息"Condition is false"不会打印。
输出:

现在,让我们测试另一个条件。
$value = 5
if (-not ($value -eq 10)) {
Write-Host "Value is not equal to 10"
}
在这个示例中,我们将 $value 设置为 5。我们使用 -eq 运算符检查 $value 是否等于 10,但使用 -not 运算符时,我们否定这个条件。结果是表达式 ($value -eq 10) 的值为 $false,而 -not 运算符将其转换为 $true。
因此,我们打印消息"Value is not equal to 10"。
输出:

使用!运算符在 PowerShell 中否定条件
!运算符,也被称为逻辑非运算符,用于否定条件。它基本上反转布尔表达式的真值。
当您需要检查某个条件是否为假而不是为真时,通常使用此运算符。
$condition = $true
if (!$condition) {
Write-Host "Condition is false"
}
在这个示例中,我们将 $condition 初始化为 $true。当我们对 $condition 应用!运算符时,由于原始条件为真,因此其值为 $false。因此,消息"Condition is false"不会打印。
输出:

使用 -notmatch 运算符在 PowerShell 中否定条件
在 PowerShell 中,-notmatch 运算符用于基于模式匹配来否定条件。此运算符检查字符串是否不匹配指定模式。
当您想要排除某些字符串或模式时,这特别有用。
$string = "Hello, world!"
if ($string -notmatch "Goodbye") {
Write-Host "String does not contain 'Goodbye'"
}
在这个示例中,我们有一个包含值"Hello, world!"的字符串 $string。我们使用 -notmatch 运算符检查该字符串是否不匹配模式"Goodbye"。
由于字符串"Hello, world!"不包含子字符串"Goodbye",因此条件为真,消息"String does not contain 'Goodbye'"被打印。
输出:

使用 -ne 运算符在 PowerShell 中否定条件
在 PowerShell 中,-ne 运算符用于基于不等式否定条件。它检查两个值是否不相等。
当您需要排除某些值以进行比较时,此运算符特别有用。
$value = 5
if ($value -ne 10) {
Write-Host "Value is not equal to 10"
}
在这个示例中,我们将值 5 赋给变量 $value。然后,我们使用 -ne 运算符检查 $value 是否不等于 10。
由于 $value 确实是 5,而且不等于 10,因此条件评估为真,消息"Value is not equal to 10"被打印。
输出:

使用 -notlike 运算符在 PowerShell 中否定条件
在 PowerShell 中,-notlike 运算符用于基于通配符模式匹配来否定条件。它允许您检查字符串是否不匹配指定模式。
当您需要从比较中排除某些模式或子字符串时,此运算符非常有用。
$string = "Hello, world!"
if ($string -notlike "*Goodbye*") {
Write-Host "String does not contain 'Goodbye'"
}
在这个示例中,我们有一个包含值"Hello, world!"的字符串 $string。我们使用 -notlike 运算符检查该字符串是否不匹配模式"*Goodbye*"。
由于字符串"Hello, world!"不包含子字符串"Goodbye",因此条件为真,消息"String does not contain 'Goodbye'"被打印。
输出:

结论
在本文中,我们探讨了在 PowerShell 中否定条件的各种方法,为脚本逻辑提供了灵活性和精确性。我们开始讨论 -not 运算符,它反转逻辑表达式的结果,随后介绍了!运算符,称为"逻辑非"运算符,直接用于否定条件。
然后,我们深入研究了 -notmatch 运算符,它检查字符串是否不匹配指定模式,以及 -ne 运算符,它评估两个值之间的不等性。最后,我们介绍了 -notlike 运算符,用于基于通配符模式匹配否定条件。
通过理解和应用这些方法,PowerShell 用户可以增强其脚本的健壮性和多样性。
