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