無限forループを実施する

while文や do_while文を使って無限ループを実施する方法がありますが、無限forループを使うほうが可読性が高いです。

下記にスクリプトを示します。

# ユーザがループ回数を入力する.
$key_input = Read-Host ( "limit number ?" )

# 文字列から整数に変換する.
$num_limit = [int]( $key_input )

# ループ内部で300msec スリープする.
$msec = 300

# カウンタをゼロリセットする.
$counter = 0

# 無限ループする.
for (;;)
{

    # コンソールに出力する.
    $str_out = "{0}" -f $counter
    Write-Output( $str_out )

    #カウンタを増やす.
    $counter++

    # ユーザが入力したループ回数を上回ると for ループを脱出する.
    if ( $counter -gt $num_limit )
    {
        break
    }

    Start-Sleep -Milliseconds $msec

}

Write-Output( "finish" )

下記に実行結果を示します。

limit number ?: 10
0
1
2
3
4
5
6
7
8
9
10
finish