主题
    about_Language_Keywords

简短说明
    说明 Windows PowerShell 脚本语言中的关键字。


详细说明
    Windows PowerShell 包含以下语言关键字。有关详细信息,请参阅关键字的相关主题以及下表后面
    的信息。


        关键字		   参考
        -------            ---------
        Begin              about_Functions, about_Functions_Advanced
        Break              about_Break, about_Trap
        Catch              about_Try_Catch_Finally
        Continue           about_Continue, about_Trap
        Data               about_Data_Sections
        Do                 about_Do, about_While 
        Dynamicparam       about_Functions_Advanced_Parameters
        Else               about_If 
        Elseif             about_If 
        End                about_Functions, about_Functions_Advanced_Methods
        Exit               详见本主题中的说明。
        Filter             about_Functions
        Finally            about_Try_Catch_Finally
        For                about_For
        Foreach            about_Foreach
        From               保留以供将来使用。
        Function           about_Functions, about_Functions_Advanced
        If                 about_If
        In                 about_Foreach
        Param              about_Functions
        Process            about_Functions, about_Functions_Advanced
        Return             about_Return
        Switch             about_Switch
        Throw              about_Throw, about_Functions_Advanced_Methods
        Trap               about_Trap, about_Break, about_Try_Catch_Finally
        Try                about_Try_Catch_Finally
        Until              about_Do
        While              about_While, about_Do

  语言关键字

      Begin
      -----

      与 Dynamicparam、Process 和 End 关键字一起,指定函数体的一个部分。在接收来自管道的
      任何对象之前,会运行一次 Begin 语句列表。

      语法:

          function <name> {
              dynamicparam {<statement list>}
              begin {<statement list>}
              process {<statement list>}
              end {<statement list>}
          }

      Break
      -----

      使脚本退出循环。

      语法:

          while (<condition>) {
              <statements>
                   ...
              break
                   ...
              <statements>
          }

      Catch
      -----

      指定在相应 Try 语句列表中发生错误时要运行的语句列表。错误类型需要用方括号括起。另一对方
      括号表示该错误类型是可选的。

      语法:
      
          try {<statement list>}
          catch [[<error type>]] {<statement list>}

      Continue
      --------

      使脚本停止运行循环,并返回到条件处。如果符合条件,则脚本重新开始循环。

      语法:

          while (<condition>) {
              <statements>
                  ...
              continue
                  ...
              <statements>
          }

      Data
      ---- 

      在脚本中,定义将数据与脚本逻辑分隔开的节。也可以包含 If 语句和有限的一些命令。

      语法:

      data <variable> [-supportedCommand <cmdlet-name>] {<permitted 
      content>}

      Do
      --

      与 While 或 Until 关键字一起使用,形成循环结构。Windows PowerShell 至少运行一次这
      种语句列表,这与使用 While 的循环不同。

      语法:

          do {<statement list>} while (<condition>)

          do {<statement list>} until (<condition>)

      Dynamicparam
      ------------

      与 Begin、Process 和 End 关键字一起,指定函数体的一个部分。动态参数是在运行时添加的。

      语法:

          function <name> {
              dynamicparam {<statement list>}
              begin {<statement list>}
              process {<statement list>}
              end {<statement list>}
          }

      Else
      ----

      与 If 关键字一起使用,用于指定默认语句列表。

      语法:

          if (<condition>) {<statement list>}
          else {<statement list>}

      Elseif
      ------

      与 If 和 Else 关键字一起使用,用于指定其他条件。Else 关键字是可选的。

      语法:

          if (<condition>) {<statement list>}
          elseif (<condition>) {<statement list>}
          else {<statement list>}

      End
      ---

      与 Dynamicparam、Begin 和 End 关键字一起,指定函数体的一个部分。在接收来自管道的所有
      对象之后,运行一次 End 语句列表。

      语法:

          function <name> {
              dynamicparam {<statement list>}
              begin {<statement list>}
              process {<statement list>}
              end {<statement list>}
          }

      Exit
      ----

      使 Windows PowerShell 退出脚本或 Windows PowerShell 实例。

      语法:

          exit

      Filter
      ------

      指定一个函数,在该函数中,为每个输入对象运行一次语句列表。它与只包含 Process 块的函数作
      用相同。

      语法:

          filter <name> {<statement list>}

      Finally
      -------

      定义一个语句列表,该语句列表在与 Try 和 Catch 关联的语句之后运行。即使按 Ctrl+C 离开
      脚本或在脚本中使用 Exit 关键字,也会运行 Finally 语句列表。

      语法:

          try {<statement list>}
          catch [<error type] {<statement list>}
          finally {<statement list>}

      For
      ---

      通过使用条件来定义循环。

      语法:

          for (<initialize>; <condition>; <iterate>) {<statement list>}

      Foreach
      -------
      
      通过使用每个集合成员来定义循环。

      语法:

          foreach (<item> in <collection>){<statement list>}

      From
      -----

      保留以供将来使用。

      Function
      --------

      创建由可重用代码组成的命名语句列表。可以为函数所属的作用域指定名称。并且,可以使用 
      Param 关键字指定一个或多个命名参数。在 function 语句列表中,可以包含 Dynamicparam、
      Begin、Process 和 End 语句列表。

      语法:

          function [<scope:>]<name> { 
              param ([type]<$pname1> [, [type]<$pname2>])
              dynamicparam {<statement list>}
              begin {<statement list>}
              process {<statement list>}
              end {<statement list>}
          }

      此外,还可以在语句列表之外、函数名之后定义一个或多个参数。

      语法:

          function [<scope:>]<name> [([type]<$pname1>, [[type]<$pname2
          >])] { 
              dynamicparam {<statement list>}
              begin {<statement list>}
              process {<statement list>}
              end {<statement list>}
          }

      If
      --

      定义条件。

      语法:

          if (<condition>) {<statement list>}

      In
      --

      在 Foreach 语句中使用,用于创建使用每个集合成员的循环。

      语法:

          foreach (<item> in <collection>){<statement list>}

      Param
      -----

      定义函数中的参数。

      语法:

          function [<scope:>]<name> {
              param ([type]<$pname1>[, [[type]<$pname2>]])
              <statement list>
          }

      Process
      -------

      与 Dynamicparam、Begin 和 End 关键字一起,指定函数体的一个部分。当 Process 语句列
      表收到来自管道的输入时,将为来自管道的每个元素运行一次 Process 语句列表。如果管道未提供
      任何对象,则不会运行 Process 语句列表。如果该命令是管道中的第一个命令,则运行一次 
      Process 语句列表。

      语法:

          function <name> {
              dynamicparam {<statement list>}
              begin {<statement list>}
              process {<statement list>}
              end {<statement list>}
          }


      Return
      ------

      使 Windows PowerShell 离开当前作用域(如脚本或函数),并将可选表达式写入输出。

      语法:

          return [<expression>]

      Switch
      ------

      指定要对来自管道或文件的项执行的各种操作。可以使用以下两种语法模型中的任何一种。

      语法 1:

          switch [-regex|-wildcard|-exact][-casesensitive] ( pipeline )
    
          { 
              <string>|<number>|<variable>|{ <expression> } {<statement list>}
              <string>|<number>|<variable>|{ <expression> } {<statement list>}
                    ...
              default {<statement list>}
          }


      语法 2:

      Syntax 2:

          switch [-regex|-wildcard|-exact][-casesensitive] -file filename
          { 
              <string>|<number>|<variable>|{ <expression> } {<statement list>}
              <string>|<number>|<variable>|{ <expression> } {<statement list>}
                    ...
              default {<statement list>}
          }


      Throw
      -----

      引发一个对象来作为错误。

      语法:

          throw [<object>]

      Trap
      ----

      定义在发生错误时运行的语句列表。错误类型需要用方括号括起。另一对方括号表示该错误类型是可选的。

      语法:

          trap [[<error type>]] {<statement list>}

      Try
      ---

      定义一个语句列表,该语句列表用于在运行语句时检查错误。如果发生错误,Windows 
      PowerShell 将在 Catch 或 Finally 语句中继续运行。错误类型需要用方括号括起。另一对方
      括号表示该错误类型是可选的。

      语法:

          try {<statement list>}
          catch [[<error type]] {<statement list>}
          finally {<statement list>}

      Until
      -----

      用在 Do 语句中作为循环结构,在这种循环结构中,语句列表至少会执行一次。

      语法:

          do {<statement list>} until (<condition>)

      While
      -----

      用在 Do 语句中作为循环结构,在这种循环结构中,语句列表至少会执行一次。

      语法:

          do {<statement list>} while (<condition>)

另请参阅 
         about_escape_characters 
         about_special_characters 
         about_wildcards 




目录