1. ホーム
  2. スクリプト・コラム
  3. パワーシェル

PowerShellのContinue文の使用例

2022-02-04 16:55:35

ループ内で "Continue" ステートメントを使用すると、ループの現在の反復をスキップして次の反復を続行することができます。Break"ステートメントを使用すると、ループの残りのすべての反復がスキップされます。

このため、多層にネストされたループの中で、どのループが影響を受けるかという問題が発生します。デフォルトでは、"Continue" は内側のループにのみ影響しますが、"Continue" と "Break" を使って外側のループのタグの1つを指定することも可能です。

:outer
Foreach ($element in (1..10))
{
for ($x = 1000; $x -lt 1500; $x += 100)
{
"Frequency $x Hz"
[Console]::Beep($x, 500)
continue outer
Write-Host 'You and I will never see each other again unless you change the code'
}
}



上の例ではcontinue文が外側のループに呼び出されているため、10回1000Hzが出力されていることが分かります。continue文を削除すると、ループ回数が明らかに増え、write-host文がスキップされなくなります。