PowerShell Switch语句

PowerShell Switch语句

当需要在PowerShell中检查多个条件时,可以使用Switch语句。

PowerShell中的此语句等效于一系列“If”语句,但使用起来很简单。 该语句列出了每个条件以及与每个条件关联的代码块。 如果条件为“True”,则将使用该特定条件执行代码块。

1.switch语句的语法

Switch (<test-expression>)  

    <condition1> { Code of Block-1 ; break }  
    <condition2> { Code of Block-2 ; break }  
    <condition3> { Code of Block-3 ; break }  
     .  
     .  
     .  
    <condition3> {Code of Block-N ; break }
    default {Code of Block ; break }

以下是适用于switch语句的规则:

  • default语句是可选的。即使该语句没有default语句,它也可以正常地执行。
  • test_expression可以是逻辑表达式或整数表达式。
  • 如果将break语句应用于任何情况,则在该情况之后,switch语句将由break语句终止。

2.switch语句流程图

3.例子

以下示例描述了如何使用switch语句:

示例1:在此示例中,day的值与数字值进行单一匹配。

$day=3  
switch($day)  
{  
    1{echo "今天是星期一"}  
    2{echo "今天是星期二"}  
    3{echo "今天是星期三"}  
    4{echo "今天是星期四"}  
    5{echo "今天是星期五"}  
    6{echo "今天是星期六"}  
    7{echo "今天是星期日"}  
}

执行上面示例代码,得到以下结果:

今天是星期三

示例2:在此示例中,检查变量的值是:10,50还是100。如果这些值都不匹配,那么将执行默认语句。

$x=3  
switch($x)  
{  
    10{echo "变量 x 的值为:10"}  
    50{echo "变量 x 的值为:50"}  
    100{echo "变量 x 的值为:100"}  
    default {echo "变量 x 的值不等于 10, 50 和 100."}  
}

执行上面示例代码,得到以下结果:

变量 x 的值不等于 10, 50 和 100.

示例3:在此示例中,说明如何将switch语句与数组一起用作输入参数:

$m=4  
$a=13  
switch($m,$a)  
{  
 1{echo "January"}  
 2{echo "February"}  
 3{echo "March"}  
 4{echo "April"}  
 5{echo "May"}  
 6{echo "June"}  
 7{echo "July"}  
 8{echo "August"}  
 9{echo "September"}  
 10{echo "October"}  
 11{echo "November"}  
 12{echo "December"}  
 Default { echo " You give a Wrong number"}  
}

执行上面示例代码,得到以下结果:

You give a Wrong number

目录