以下是一个示例的PowerShell函数,可以接受管道输入和常规输入:
function Process-Input {
[CmdletBinding()]
param (
[Parameter(ValueFromPipeline=$true)]
$InputObject
)
begin {
# 初始化变量或执行一次性操作
}
process {
# 处理输入对象(可以是管道输入或常规输入)
$InputObject
}
end {
# 执行清理操作或输出结果
}
}
在上面的示例中,函数名为Process-Input
,使用了[CmdletBinding()]
特性来支持常规参数绑定。函数的参数$InputObject
使用了[Parameter(ValueFromPipeline=$true)]
特性,表示它可以接受管道输入。
你可以在process
块中编写处理输入对象的逻辑。在这个示例中,它只是简单地将输入对象输出,你可以根据需要自定义处理逻辑。
要使用这个函数,你可以通过管道输入对象,或使用常规输入参数。以下是几个示例:
# 通过管道输入对象
1, 2, 3 | Process-Input
# 通过常规输入参数
Process-Input -InputObject 4
当你运行这些示例时,函数将输出输入的对象。
注意,上述示例仅演示了如何编写一个接受管道输入和常规输入的PowerShell函数,并没有实际的处理逻辑。你可以根据自己的需求来编写函数的具体逻辑。