PowerShell HelpFile - about_For
 記事記号:[me1532] 初版:2011/May/10

この文書は、Windows PowerShellのヘルプ機能で表示される内容を再構成したものです。

トピック
    about_For

簡易説明
    条件テストに基づいてステートメントを実行するのに使用する言語コマンドについて
    説明します。

詳細説明
    For ステートメント (For ループとも呼ばれます) は、指定した条件が True と評価
    されている間はコマンド ブロック内のコマンドを実行するループを作成するための
    言語構造です。

    For ループは、一般に、値の配列を繰り返し処理したり、それらの値のサブセットを
    操作するために使用します。配列のすべての値を繰り返し処理する場合、通常は For
    each ステートメントを使用します。

  構文
      For ステートメントの構文を次に示します。
  
          for (<init>; <condition>; <repeat>)
          {<statement list>}
      
      <init> プレースホルダーには、1 つ以上のコマンドをコンマで区切って指定します。
      これらのコマンドはループが開始される前に実行されます。ステートメントの <ini
      t> の部分は、変数を作成して初期値で初期化するために一般に使用されます。
 
      この変数は、For ステートメントの次の部分でテストされる条件の基礎として使用さ
      れます。
        
      For ステートメントの <condition> プレースホルダーは、ブール値 True または F
      alse に解決されます。Windows PowerShell では、For ループが実行されるたびに
      条件が評価されます。ステートメントが True の場合は、コマンド ブロックにある
      コマンドが実行され、ステートメントが再び評価されます。条件が引き続き True 
      の場合は、ステートメント リストにあるコマンドが再び実行されます。ループは、
      条件が False になるまで繰り返されます。
     
      <repeat> プレースホルダーには、1 つ以上のコマンドをコンマで区切って指定し
      ます。これらのコマンドは、ループが繰り返されるたびに実行されます。一般に、
      この部分は、ステートメントの <condition> の部分でテストされる変数を変更す
      るために使用します。

      <statement list> プレースホルダーには、1 つ以上のコマンドのセットを指定し
      ます。これらのコマンドは、ループが実行される (繰り返される) たびに実行され
      ます。ステートメント リストの内容は中かっこで囲みます。

  例
      For ステートメントには、少なくとも、ステートメントの <init>、<condition>、
      および <repeat> の部分を囲むかっこ、およびステートメントの <statement list
      > の部分に中かっこで囲んだコマンド 1 つを指定する必要があります。

      次の例では、For ステートメントの外側のコードを意図的に示していることに注意
      してください。後の例では、For ステートメント内にコードを統合しています。

      たとえば、次の For ステートメントでは、Ctrl + C キーを押してコマンドを手動
      で中断するまで、変数 $i の値が継続的に表示されます。

          $i = 1
          for (;;){Write-Host $i}

      ここで、ループが実行されるたびに $i の値が 1 ずつインクリメントされるよう
      に、ステートメント リストにコマンドを追加してみます。次に例を示します。

          for (;;){$i++; Write-Host $i}

      このステートメントでは、Ctrl + C キーを押してコマンドを中断するまで、ルー
      プが実行されるたびに 1 ずつインクリメントした変数 $i の値が継続的に表示さ
      れます。

      For ステートメントのステートメント リストの部分で変数の値を変更する代わり
      に、次のように For ステートメントの <repeat> の部分を使用できます。

          $i=1
          for (;;$i++){Write-Host $i}

      このステートメントは引き続き無限に、つまり Ctrl + C キーを押してコマンドを
      中断するまで、繰り返されます。

      (ステートメントの <condition> の部分を使用して) 条件を設定すると、条件が F
      alse と評価されたときに For ループを終了させることができます。次の例では、
      $i の値が 10 以下の間、For ループが実行されます。

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

      For ステートメントの外で変数を作成したり初期化する代わりに、次のように For 
      ステートメントの <init> の部分を使用して、For ループの内側でこの操作を実行
      できます。

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

      For ステートメントの <init>、<condition>、および <repeat> の部分は、セミコ
      ロンの代わりにキャリッジ リターンを使用して区切ることができます。次の例は、
      この代替形式の For ステートメントの構文を示しています。
        
            for (<init>
          <condition>
          <repeat>){
          <statement list>
          }
      
      For ステートメントのこの代替形式は、Windows PowerShell スクリプト ファイル
      と Windows PowerShell のコマンド プロンプトで動作します。ただし、コマンド 
      プロンプトで対話型のコマンドを入力するときには、セミコロンを使用した For 
      ステートメントの構文を使用する方が簡単です。
        
      For ループでは、パターンを使用して配列またはコレクションの値をインクリメン
      トできるので、Foreach ループよりも柔軟性があります。次の例では、For ステー
      トメントの <repeat> の部分で変数 $i が 2 ずつインクリメントされています。

          for ($i = 0; $i -ile 20; $i += 2) {Write-Host $i}

関連項目        
    about_Comparison_Operators
    about_Foreach
	
記事で解説しているパソコンの環境
 基本ソフト: Windows 7
 キーワード: Windows PowerShell、ヘルプ、HelpFile、about_For
ご利用数: 1861464
感想・要望・問い合わせは こちら