Shoeisha Technology Media

CodeZine(コードジン)

記事種別から探す

Windows PowerShell 入門(5)-制御構文

PoweShellにおける さまざまな制御方法

  • LINEで送る
  • このエントリーをはてなブックマークに追加
2008/04/16 14:00

Windows PowerShellにおける制御構文について学びます。数ある制御構文の中でもSwitch文は、他の言語に比べ豊富な機能が用意されています。

目次

はじめに

これまでの記事

対象読者

  • Windows PowerShellでコマンドレット操作ができる方
  • 何らかのプログラミング経験があればなお良い

必要環境

  • Windows PowerShell

if/elseif/else

 if文は、条件分岐をする上で欠かせない構文です。構文は次の通りです。

if文
if (<条件>)
{
  <ifの条件が満たされた場合に実行されるコードブロック>
}
elseif (<条件>)
{
  <elseifの条件が満たされた場合に実行されるコードブロック>
}
else
{
  <前の条件がいずれも満たされない場合に実行されるコードブロック>
}

 elseifはいくつでも記述することができますが、elseは1つまでです。どちらも省略することができます。

 下記は$filesize変数に代入されている値をif文で判断してメッセージを表示する例です。比較演算子に関しては前回の記事を参照願います。

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 (<初期化>; <条件>; <繰り返し処理>)
{
  <繰り返し実行するコードブロック>
}

 下記はfor文を使用してカウントを表示する例です

for文の例
PS > for ( $i = 0; $i -lt 5; $i++ )
>> {
>>   Write-Host ("カウント" + $i)
>> }
>>
カウント0
カウント1
カウント2
カウント3
カウント4

while

 whileは指定した条件がtrueの場合にループし続けます。whileの構文は次の通りです

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文
do
{
  <繰り返し実行するコードブロック>
}
while (条件)

 下記は変数$iが5未満の場合実行します。

do/whileの例
PS C:\Work> $i = 0
PS C:\Work> do
>> {
>>   Write-Host $i
>>   $i++
>> }
>> while ($i -lt 5)
>>
0
1
2
3
4

  • LINEで送る
  • このエントリーをはてなブックマークに追加

修正履歴

  • 2010/01/06 16:29 switch文の例8に誤りがあったため修正いたしました。

著者プロフィール

  • HIRO(ヒロ)

    HIRO's.NETのHIROです。 とある半導体工場のSEです。 VB.NET, C#, PowerShellによるプログラミングを楽しんでいます。 最近はBlog でPowerShellについて書いています。 2008/07/07にPowerShell from Japan!!という...

バックナンバー

連載:Windows PowerShell 入門

もっと読む

All contents copyright © 2006-2017 Shoeisha Co., Ltd. All rights reserved. ver.1.5