我有一个脚本,我正在尝试向其中添加管道功能。不过,我看到了奇怪的行为,脚本似乎只针对管道中的最终对象运行。例如
param(
[parameter(ValueFromPipeline=$true)]
[string]$pipe
)
foreach ($n in $pipe) {
Write-Host "Read in " $n
}
很简单,不是吗?然后我运行1..10 | .\test.ps1
它只输出一行Read in 10
。更复杂的是,我想在其中使用的实际脚本具有更多参数:
[CmdletBinding(DefaultParameterSetName="Alias")]
param (
[parameter(Position=0,ParameterSetName="Alias")]
[string]$Alias,
[parameter(ParameterSetName="File")]
[ValidateNotNullOrEmpty()]
[string]$File
<and so on>
)