PowerShellの繰り返し処理【for文/foreach文/while文】

こんにちは。
けいぞうです。

今回はPowerShellでの繰り返し構文【for文/foreach文/while文】についてのまとめ記事になります。

[目次]

for文

for文の構文

for ( 変数の初期化 ; 継続する条件 ; 変数に対する処理 ) 
{
    #処理内容
}

for文の例文

for ( $i=1 ; $i -le 10 ; $i++ )
{
    Write-Output $i
}

for文の例文処理結果

1
2
3
4
5
6
7
8
9
10

foreach文

foreach文の構文

foreach ( 変数 in コレクション )
{
    #処理内容
}

foreach文の例文

$items = @(1,2,3,4,5)
foreach ( $item in $items)
{
    Write-Output $item
}

foreach文の例文処理結果

1
2
3
4
5

while文

while文の構文

while (継続する条件)
{
    #処理内容
}

while文の例文

$num = 1
while ($num -le 5)
{
    $num++
}

while文の例文処理結果

>$num
6

do-while文

do-while文の構文

do
{
    #処理内容
)
while(継続する条件)

do-while文の例文

$num = 1
do
{
    $num++
}
while($num -le 5)

do-while文の例文処理結果

>$num
6

do-until文

do-until文の構文

do
{
    #処理内容
)
until(終了する条件)

do-until文の例文

$num = 1
do
{
    $num++
}
until($num -gt 5)

do-until文の例文処理結果

>$num
6

おまけ ForEach-Objectについて

PowerShellには、オブジェクトをパイプで繋いで受け取り「ForEach-Object」というコマンドレットを使って処理することができます。

$a = @(1,2,3,4,5)
$a | ForEach-Object { Write-Output $_ }
1
2
3
4
5

「$_」はパイプで受け取ったもの(左側の部分の処理結果)が渡された変数になります。

{}の中に自由に1行分の処理内容を記述することができます。

普通のforeachとは違って、PowerShellっぽい書き方です。