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