はじめに
これまでの記事
- 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
