はじめに
これまでの記事
- Windows PowerShell 入門(1)-基本操作編
- Windows PowerShell 入門(2)-基本操作編 2
- Windows PowerShell 入門(3)-スクリプト編
- Windows PowerShell 入門(4)-変数と演算子編
対象読者
- Windows PowerShellでコマンドレット操作ができる方
- 何らかのプログラミング経験があればなお良い
必要環境
- Windows PowerShell
if/elseif/else
if
文は、条件分岐をする上で欠かせない構文です。構文は次の通りです。
if (<条件>) { <ifの条件が満たされた場合に実行されるコードブロック> } elseif (<条件>) { <elseifの条件が満たされた場合に実行されるコードブロック> } else { <前の条件がいずれも満たされない場合に実行されるコードブロック> }
elseif
はいくつでも記述することができますが、else
は1つまでです。どちらも省略することができます。
下記は$filesize
変数に代入されている値をif
文で判断してメッセージを表示する例です。比較演算子に関しては前回の記事を参照願います。
PS > $filesize = 2MB PS > if ( $filesize -lt 1MB ) >> { >> Write-Host("1MBより小さい") >> } >> elseif ( $filesize -lt 2MB ) >> { >> Write-Host ("2MBより小さい") >> } >> else >> { >> Write-Host("2MB以上") >> } >> 2MB以上
for
for
は基本的なループです。for
の構文は次の通りです
for (<初期化>; <条件>; <繰り返し処理>) { <繰り返し実行するコードブロック> }
下記はfor
文を使用してカウントを表示する例です
PS > for ( $i = 0; $i -lt 5; $i++ ) >> { >> Write-Host ("カウント" + $i) >> } >> カウント0 カウント1 カウント2 カウント3 カウント4
while
while
は指定した条件がtrue
の場合にループし続けます。while
の構文は次の通りです
while (条件) { <繰り返し実行するコードブロック> }
下記は変数$cnt
が10以下の場合ループし続けます。{
~ }
の中のコードブロックが実行される度に$cnt
がインクリメントされ、10以上になったときに条件を満たしループを終了します。
PS C:\Work> $cnt = 0 PS C:\Work> while ( $cnt -le 10 ) >> { >> Write-Host "Count: $cnt" >> $cnt++ >> } >> Count: 0 Count: 1 Count: 2 Count: 3 Count: 4 Count: 5 Count: 6 Count: 7 Count: 8 Count: 9 Count: 10
do/while
先ほどのwhile
文は最初に評価が行われるループでした。これから説明するdo/while
文は最後に評価が行われるループです。最後の評価が「偽」となった時点でループを終了します。よって、必ず1回は処理の実行を行います。
do/while
の構文は次の通りです。
do { <繰り返し実行するコードブロック> } while (条件)
下記は変数$i
が5未満の場合実行します。
PS C:\Work> $i = 0 PS C:\Work> do >> { >> Write-Host $i >> $i++ >> } >> while ($i -lt 5) >> 0 1 2 3 4