命令支持管道

命令支持管道

支持管道,需要为参数加
[Parameter(ValueFromPipeline)]
特性。

Function Test-Something {
    [Alias("ts")]
    [CmdletBinding(SupportsShouldProcess)]
    param(
    [Parameter(ValueFromPipeline)]
    $What
)
    begin{
    }
    Process {
        if ($pscmdlet.ShouldProcess($What)) {
            foreach ($item in $what)
            {
                dir $item
            } 
        }
    } # End Process
    end {
    }
} # End

如果命令支持数组,比如 dir,就可把 
            foreach ($item in $What)
            {
                dir $item
            } 

换成
dir $What

调用
ts c:, d:\
可以使用管道:
“c:\”, “d:\” | ts

使用管道时,必须加引号。

如果是不支持数组的命令,比如, Write-Host,就要注意了,这时的输出结果就不一样了。
Write-Host “Output $What”
ts c:, d:\
Output c:\ d:\
这并不是我们想要的结果。

“c:\”, “d:\” | ts
Output c:\
Output d:\

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值