PowerShell函数中接收管道参数实例

845 查看

本文介绍在自定义PowerShell函数时,如何设置函数通过管道(Pipeline)接收输入参数。

先看一个例子,用管道作为输入参数的函数:

复制代码 代码如下:

function Test-Pipeline {
    param(
        [Parameter(ValueFromPipeline=$true)]
        $InputObject
    )
    process
    {
        “Working with $InputObject”
    }
}

使用管道作为输入参数,函数的执行情况如下:
复制代码 代码如下:

PS> 1..4 | Test-Pipeline
Working with 1
Working with 2
Working with 3
Working with 4

在Test-Pipeline函数中,InputObject是一个接收管道输入的参数。InputObject参数之前,我们用了[Parameter(ValueFromPipeline=$true)]这个条指令,从指令的名称来看,我们就发现了ValueFromPipeline,表示从管道获取值。

另外,小编要说的是,在PowerShell所有的系统自带函数中,从管道获取值的参数名称都叫InputObject,我们在开发的过程中应该继承并发扬这一风格。

关于PowerShell函数通过管道接收参数,本文就介绍这么多,希望对您有所帮助,谢谢!