HIRO's.NET

VB.NET, C#, PowerShell Tipsサイト

 VB.NET, C#, PowerShellを使用しているエンジニアのためのサイト。

 基本的な使用方法から開発で役立つTipsまで幅広く取り扱っています。

HIRO's.NET RSSHIRO's.NET RSS


PowerShellの開発でお困りのことはありませんか?
そんな悩みは当サイトで解決!!

HOME > PowerShell Tips > 制御構文 Tips メニュー

03.whileステートメント

 
UPDATE:2008/02/15    
 


 while ステートメントは、指定した条件がTrueの間、コマンドブロック内のコマンドをループしながら実行します。

 構文は下記の通りです。

while (<条件>){<コマンド ブロック>}

次の例は、$iCntが5より小さい間(-lt)ループします。

最初は、$iCntの初期値が0なので
「$iCntが5より小さいか」をチェックし、満たされる(真)のではコマンドブロックの中のコードを実行します。
2回目は、$iCntの値が1となり、「$iCntが5より小さいか?」を満たすので、コマンドブロックの中のコードを実行する、というように条件が満たされている間ループし続けます。

sample1

PS C:\Users\HIRO> $iCnt = 0
PS C:\Users\HIRO> while ($iCnt -lt 5)
>> {
>> $iCnt++
>> Write-Host $iCnt
>> }
>>
1
2
3
4
5

breakを使って中断する

breakを使用すると、条件が満たされている間でも処理を中断し、ループを抜けることができます。
下記の例は、「$iCntが5より小さい間ループする」という条件ですが、コマンドブロックの中で if文を使用し、$iCntが3以上の場合にbreakを使用し、処理を中断しています。

sample2

PS C:\Users\HIRO>  $iCnt = 0
PS C:\Users\HIRO> while ($iCnt -lt 5)
>> {
>> $iCnt++
>> if ( $iCnt -gt 3 ) { break }
>> else { Write-Host $iCnt}
>> }
>>
1
2
3