通常而言,代码块就是指函数,调用函数,就是执行不同的代码块,以便实现各种功能.函数的结构由三部分组成:函数名,参数,函数体:
下面是函数的语法:
function [<scope:>]<name>[([type]$parameter1[,[type]$parameter2])]
{
param([type]$parameter1[,[type]$parameter2])
dynamicparam {<statementlist>}
begin {<statement list>}
process {<statement list>}
end {<statement list>}
}
说明:
函数中包含以下各项:
一个 Function 关键字
一个作用域(可选)
一个由您选择的名称
任意数目的命名参数(可选)
括在大括号 ({}) 内的一条或多条Windows PowerShell 命令
然后,下面先来看一个简单的例子:
代码很简单,一共四行。
第一行是由function关键词声明要定义一个函数,函数名为Test_Function。
第二行和第四行其实是打酱油的,一对大括号括起函数体。
第三行是程序的主代码,用一个Write-Host的cmdlet来输出一句Good Night!的字符串。
控制台定义的函数只会在当前会话生效,一旦控制台退出,会自动消失。在不关闭控制台的条件下删除一个已经定义好的函数,可以使用以下方法删除函数:
1. 简单函数
函数不必很复杂即可非常有用。以下函数可获取不属于当前系统的 System 帐户的环境变量:
2. 使用参数的函数
可在函数中使用参数,包括命名参数、位置参数、开关参数和动态参数。
1. 命名参数:可以定义任意数目的命名参数
2. 位置参数:位置参数是不带参数名称的参数。
3. 开关参数:开关是不需要值的参数。
3. 通过管道将对象传递给函数
任何函数都可通过管道获取输入。可以使用 Begin、Process 和 End 关键字来控制函数处理来自管道 的输入的方式。以下示例语法显示了这三个关键字:
function <name> {
begin {<statement list>}
process {<statement list>}
end {<statement list>}
1. begin - 只在函数第一次开始时执行一次,适用于放置初始化函数的代码。
说明:当 Begin 语句运行时,函数还没有来自管道的输入。End 语句在函数获取值之后运行。
2. process - 每一次调用函数时都执行
3. end - 只在函数结束时执行一次
说明:在此示例中,通过管道传递给函数的每个对象都将发送到 Process 语句列表。Process 语句将对每个对象逐次运行。当函数到达 End 关键字时,$input 自动变量为空。
此外,并不是所有的函数都需要这三个步骤,但是一旦选择使用这种函数表达格式,在这三个代码块之外不能再存在其他代码,并且,每个代码块只能出现一次。
关于函数这块就先介绍到这里。