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

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函数通过管道接收参数,本文就介绍这么多,希望对您有所帮助,谢谢!

03-14 14:46