do untilループによる繰り返し処理 (do until文の利用) - PowerShell

PowerShellで繰り返し処理をする do until 文を紹介します。

書式

do{
  ...(処理)
}
until (ループ条件式)

ループ条件式が真(条件を満たす)である場合にループを抜けます。条件式を満たさない限りはループを実行します。
また、ループ条件式の判定はループ処理後に実行されるため、ループ条件式が真の場合でもループは1回実行されます。

例1

コード

以下のPowerShellコードを記述します。
$value=0
do 
{
  $value++
  Write-Output ("count:"+$value)
}
until ($value -gt 10)

Write-Output ("Complete!")

解説

以下のコードでvalue変数に0を代入して初期化します。
$value=0

doループでvalueの値に1を加算し、value変数の値とメッセージを出力します。
do 
{
  $value++
  Write-Output ("count:"+$value)
}

until 部分で条件式を設定しています。value の値が10より大きい値で真(ture)となりループを抜けます。
until ($value -gt 10)

ループを抜けた場合は最後に "Complete!" のメッセージを表示します。
Write-Output ("Complete!")

実行結果

スクリプトを実行します。
ループが実行されます。valueの値が10の場合は、$value -gt 10 は Falseとなり、次のループが実行されます。 条件判定はループ処理の後に実行されるため、value変数の値が11のループが実行され、その後ループを抜け、"Complete!"の メッセージが表示されます。

例2

コード

以下のPowerShellコードを記述します。
$value=0
do 
{
  $value++
  Write-Output ("count:"+$value)
}
until ($value -lt 10)

Write-Output ("Complete!")

解説

以下のコードでvalue変数に0を代入して初期化します。
$value=0

doループでvalueの値に1を加算し、value変数の値とメッセージを出力します。
do 
{
  $value++
  Write-Output ("count:"+$value)
}

until 部分で条件式を設定しています。value の値が10より小さい値で真(ture)となりループを抜けます。 今回のコードでは初回でループを抜ける動作になります。
until ($value -lt 10)

実行結果

スクリプトを実行します。 valueの値が0で初期化されるため、初回の判定$value -lt 10 で true になりますが、 条件判定はループ処理の後に実行されるため、value変数の初期値の0に1を加算した "1" の値が1回出力され、 その後ループを抜け、"Complete!"のメッセージが表示されます。


著者
iPentecのプログラマー、最近はAIの積極的な活用にも取り組み中。
とっても恥ずかしがり。
最終更新日: 2023-12-08
作成日: 2023-03-14
iPentec all rights reserverd.