当需要在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