打破

break 运算符将立即退出程序循环。它可用于 ForForEachWhileDo 循环或 Switch 声明。

$i = 0
while ($i -lt 15) {
    $i++ 
    if ($i -eq 7) {break}
    Write-Host $i
}

以上将计为 15,但一旦达到 7 就停止。

注意 :使用管道循环时,break 将表现为 continue。要在管道循环中模拟 break,你需要合并一些额外的逻辑,cmdlet 等。如果你需要使用 break,则更容易坚持使用非管道循环。

打破标签

Break 也可以调用放在循环实例化前面的标签:

$i = 0
:mainLoop While ($i -lt 15) {
    Write-Host $i -ForegroundColor 'Cyan'
    $j = 0
    While ($j -lt 15) {
        Write-Host $j -ForegroundColor 'Magenta'
        $k = $i*$j
        Write-Host $k -ForegroundColor 'Green'
        if ($k -gt 100) {
            break mainLoop
        }
        $j++
    }
    $i++
}

注意: 此代码将 $i 增加到 8$j 增加到 13,这将导致 $k 等于 104。由于 $k 超过 100,因此代码将突破两个循环。