当前位置:网站首页 > 更多 > 玩电脑 > 正文

[玩转系统] 具有多个条件的 PowerShell Switch 语句

作者:精品下载站 日期:2024-12-14 05:15:17 浏览:13 分类:玩电脑

具有多个条件的 PowerShell Switch 语句


最近,在处理 PowerShell 脚本时,我的一位团队成员询问如何在 PowerShell switch 语句中使用多个条件。我尝试了该解决方案,并将通过三个有用的示例解释具有多个条件的 PowerShell switch 语句

注意:我已使用 VS 代码编辑器执行了所有 PowerShell 脚本。

PowerShell 中的 Switch 语句

PowerShell 中的 switch 语句类似于其他编程语言中的 switchcase 语句。与使用多个 if 语句相比,它提供了一种更清晰、更易读的方式来处理多个条件。

以下是 switch 语句的基本示例:

$a = 3
switch ($a) {
    1 { "It is one." }
    2 { "It is two." }
    3 { "It is three." }
    default { "It is something else." }
}

在此示例中,根据值 123 评估变量 $a。由于 $a3,因此输出将为“It is Three”。

我还写了一篇关于如何在 PowerShell 中使用 switch case 的完整教程,你可以看一下。

现在,让我们重点讨论如何在PowerShell中的switch语句中使用多个条件。

PowerShell 中具有多个条件的 Switch 语句

PowerShell 允许您在单个 switch 语句案例中测试多个条件。这是通过在脚本块中使用$_变量和逻辑运算符来完成的。

让我向您展示三个实时示例以更好地理解它。

示例 1:单个案例中的多个值

您可以使用 $_ 变量和逻辑运算符在单一情况下指定多个值。

以下是示例和完整的 PowerShell 脚本。

$day = "Saturday"
switch ($day) {
    {$_ -eq "Saturday" -or $_ -eq "Sunday"} { "It is the weekend." }
    {$_ -eq "Monday" -or $_ -eq "Tuesday" -or $_ -eq "Wednesday" -or $_ -eq "Thursday" -or $_ -eq "Friday"} { "It is a weekday." }
    default { "Unknown day." }
}

在此示例中,如果 $day 是“星期六”或“星期日”,则输出将为“这是周末”。对于任何工作日,输出都将是“It is a weekday”。

执行上述 PowerShell 脚本后,它给出了准确的输出;看下面的截图:

[玩转系统] 具有多个条件的 PowerShell Switch 语句

读取PowerShell开关参数

示例 2:将多个条件与逻辑运算符结合使用

有时,您可能需要使用逻辑运算符评估更复杂的条件。虽然 switch 语句本身不支持直接在 case 标签中使用逻辑运算符,但您可以使用脚本块来实现这一点。

以下是在 PowerShell 的 Switch 语句中使用逻辑运算符的示例。

$number = 8
switch ($number) {
    { $_ -lt 5 } { "The number is less than 5." }
    { $_ -ge 5 -and $_ -le 10 } { "The number is between 5 and 10." }
    { $_ -gt 10 } { "The number is greater than 10." }
    default { "Unknown number." }
}

在此示例中,使用脚本块根据多个条件检查变量 $number$_ 表示当前正在评估的项目。如果 $number8,则输出将为“The number is Between 5 and 10”。

我执行了上面的 PowerShell 脚本,您可以在下面的屏幕截图中看到输出:

[玩转系统] 具有多个条件的 PowerShell Switch 语句

使用正则表达式读取 PowerShell Switch Case

示例 3:组合条件和操作

您还可以在 switch 语句中组合条件和操作,以处理 PowerShell 中更复杂的场景。

查看下面的示例和脚本:

$input = "apple"
switch ($input) {
    {$_ -eq "apple" -or $_ -eq "banana"} { "It's a fruit." }
    {$_ -eq "carrot" -or $_ -eq "lettuce"} { "It's a vegetable." }
    { $_ -match "berry" } { "It's a type of berry." }
    default { "Unknown item." }
}

在此示例中,switch 语句处理不同类型的输入。如果 $input 是“apple”或“banana”,则输出将为“It's a Fruit”。如果它与包含“berry”的模式匹配,则输出将为“It's a type of berry”。

这是下面屏幕截图中的输出:

[玩转系统] 具有多个条件的 PowerShell Switch 语句

我希望您通过这些有用的示例了解如何在 PowerShell switch 语句中使用多个条件

您需要 登录账户 后才能发表评论

取消回复欢迎 发表评论:

关灯