主题
    about_For

简短说明
    说明可用于基于条件测试来运行语句的一种语言命令。


详细说明
    For 语句(也称为 For 循环)是一种语言结构,可用于创建在某一指定条件的计算结果为 True 时
    运行命令块中的命令的循环。


    For 循环的典型用法为循环访问值数组,并对这些值的子集执行操作。在大多数情况下,若要循环访问
    数组中的所有值,请考虑使用 Foreach 语句。


  语法
      下面显示了 For 语句的语法。
      
  
          for (<init>; <condition>; <repeat>)
          {<statement list>}

      
      <init> 占位符表示一条或多条命令(多条命令以逗号分隔),在循环开始前运行。通常使用该语句
      的 <init> 部分来创建变量并使用初值对其进行初始化。

 
      然后,此变量将成为 For 语句的下一部分中要测试的条件的基础。

        
      <condition> 占位符表示的 For 语句部分可解析为布尔值 True 或 False。
      Windows PowerShell 在每次运行 For 循环时都计算该条件。如果该语句为 True,
      则将运行命令块中的命令,并再次计算该语句。如果该条件仍为 True,
      则再次运行语句列表中的命令。循环重复运行,直到条件变为 False。

     
      <repeat> 占位符表示一条或多条命令(多条命令以逗号分隔),将在每次重复
      循环时执行。通常,这用于修改在语句的 <condition> 部分中被测试的变量。

      <statement list> 占位符表示一条或一组命令,这些命令在每次进入或
      重复循环时运行。语句列表的内容括在大括号中。


  示例
      For 语句的最简单形式要求在括号中包含语句的 <init>、<condition> 和 <repeat> 部分,
      并在大括号中包含语句 <statement list> 部分中的一条命令。


      请注意,接下来的示例特意将代码放在 For 语句的外部。而在更后面的示例中, 
      代码将集成到 For 语句中。


      例如,以下 For 语句将连续显示 $i 变量的值,直到您按 Ctrl+C 手动中断该命令。


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


      可以在语句列表中添加其他命令,使得循环每运行一次,$i 的值就递增 1,如以下示例所示。


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


      此语句将连续显示 $i 变量的值,循环每运行一次该变量的值就递增 1,直到您按 Ctrl+C 中断该命
      令为止。


      可以不在 For 语句的语句列表部分中更改变量的值,而是使用 For 语句的 <repeat> 部分,如下
      所示。


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


      此语句将无限重复,直到您按 Ctrl+C 中断命令。


      通过设置条件(使用 For 语句的 <condition> 部分),可以在条件的计算结果为 False 时结束 
      For 循环。在以下示例中,For 循环在 $i 的值小于或等于 10 时运行。
 

          $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 循环更为灵活。 在以下
      示例中,$i 变量在 For 语句的 <repeat> 部分以 2 为增量递增。


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


另请参阅        
    about_Comparison_Operators
    about_Foreach




目录