gpt4 book ai didi

powershell - 将管道中的目录作为 Powershell 命名参数传递

转载 作者:行者123 更新时间:2023-12-03 11:16:16 25 4
gpt4 key购买 nike

我尝试编写一个 Powershell 脚本,它接受管道中的目录作为命名参数。我的参数声明看起来像

param([Parameter(Mandatory=$true, ValueFromPipeline=$true, ValueFromPipelinebyPropertyName=$true)] [System.IO.DirectoryInfo[]] $PsPath)

我的问题是调用

gci c:\ -Directory | MyScript

结果只有 gci 结果的最后一个元素在输入数组中。这里有什么问题?

提前致谢,克里斯托夫

最佳答案

您需要将执行代码包装到一个 PROCESS block 中:

function MyScript {
param(
[Parameter(Mandatory=$true,
ValueFromPipeline=$true,
ValueFromPipelinebyPropertyName=$true)]
[System.IO.DirectoryInfo[]] $PsPath
)

PROCESS {
$PsPath
}
}

gci c:\ -Directory | MyScript

Don Jones 在此处详细介绍了 BEGIN、PROCESS 和 END block :http://technet.microsoft.com/en-us/magazine/hh413265.aspx

关于powershell - 将管道中的目录作为 Powershell 命名参数传递,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16522407/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com