PowerShell Continue和Break

PowerShell Continue和Break

1.Continue语句

在PowerShell中使用Continue语句将程序流返回到最内部循环的顶部。该语句由forForeachwhile循环控制。

当在循环中执行此语句时,将跳过continue语句之后在该循环内执行代码,并且将开始循环的下一个迭代。它通常用于条件,以便用户可以针对特定条件跳过某些代码。

2.Continue例子

示例1:以下示例在while循环中使用continue语句显示从110的数字,但是不包含5

$a = 1  
while ($a -le 10)  
{  
 if ($a -eq 5)  
 { 
    $a += 1  
    continue  
 }  
 echo $a  
 $a += 1  
}

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

1
2
3
4
6
7
8
9
10

输出中缺少值5,因为如果条件为true,并且变量$a的值为5,且条件为true,并且在变量递增之后遇到了continue语句,这会使控件在while循环的开头跳转以进行下一次迭代 ,跳过当前迭代的语句,这就是为什么echo命令不会针对当前迭代执行的原因。

示例2:下面的示例使用带有continue语句的do-while循环,该语句显示1020的值,但不包括1518

$a=10  
do  
{
    if ($a -eq 15 -or $a -eq 18)  
    {  
        $a++  
        continue  
    }  
    echo $a  
    $a++
}while($a -le 20)

示例3:以下示例使用带有continue语句的for循环:

for ($k=10 ; $k -gt 0;$k--)  
{  
 if ($k -eq 5)  
 {  
    continue  
 }  
 echo $k  
}

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

10
9
8
7
6
4
3
2
1

3.break声明

在PowerShell中使用Break语句可立即退出循环。当在switchloop语句之外使用脚本时,它也可以用于停止脚本的执行。

4.break例子

示例1:以下示例显示如何使用break语句退出for循环:

for($a=1; $a -lt 10; $a++)  
{  
 if ($a -eq 6)  
 {  
    break  
 }  
 echo $a  
}

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

1
2
3
4
5

在此示例中,当变量$a的值为6时,break语句退出for循环。

示例2:以下示例显示如何使用break语句退出foreach循环:

$array="Windows","Linux","MacOS","Android"  
foreach ($os in $array) {  
if ($os -eq "MacOS") {  
     break  
}  
echo $os 
}

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

Windows
Linux

在此示例中,Foreach语句迭代数组$array的值。 每次执行代码块。 If语句前两次求值为False,并且变量的值显示在PowerShell上。 第三次,执行循环,但是变量$array的值等于字符串:MacOS。 此时,将执行Break语句,并退出Foreach循环。

示例3:下面的示例显示如何使用break语句退出switch语句:

$num = 2  
switch($num)  
{  
    1{ echo "value is equal to 1"}  
    2{ echo " value is equal to 2" ; break }  
    3{ echo " value is equal to 3" ; break }  
    200{ echo " value is equal to 200" ; break }  
}

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

value is equal to 2

目录