主题 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