📜  PowerShell继续和中断语句

📅  最后修改于: 2021-01-08 02:49:38             🧑  作者: Mango

继续和中断声明

继续声明

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

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

例子

示例1:以下示例在while循环中使用continue语句显示从1到10的数字,而不是5:

PS C:\> $a = 1
PS C:\> 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循环,该语句显示10到20之间的值,不包括15和18。

PS C:\> $a=10
PS C:\> do
>> {
>> if (($a -eq 15) ?or ($a -eq 18))
>> {
>> $a++
>> continue
>> }
>> echo $a
>> $a++ 
>> } while($a -le 20)

输出:

10
11
12
13
14
16
17
19
20

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

PS C:\> for ($k=10 ; $k -gt 0;$k--)
>> {
>> if ($k -eq 5)
>> {
>> continue
>> }
>> echo $k
>> }

输出:

10
9
8
7
6
4
3
2
1

违约声明

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

例子

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

PS C:\> 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”循环:

PS C:\> $array="windows","Linux","MacOS","Android"
PS C:\> 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语句:

PS C:\> $num = 2
PS C:\> 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 }
>> 2{ echo " value is equal to 2" ; break }
>> }

输出:

value is equal to 2