我有一个将输出写入日志文件和控制台的脚本。我正在运行命令 Add-WindowsFeatures... 我想获取此命令的输出并将其通过管道传输到我的脚本。可能吗?
问问题
2626 次
1 回答
4
绝对地。您只需要在您的 param 语句中包含 CmdletBinding 属性。然后,将属性添加到您的参数之一,详细说明管道输入绑定到参数的方式。例如把它放在 c:\temp\get-extension.ps1 中:
[CmdletBinding()]
Param(
[parameter(Mandatory=$true,
ValueFromPipeline=$true)][System.IO.FileInfo[]]$file
)
process {
$file.Extension
}
然后,您可以这样做:
dir -File| C:\temp\get-extension.ps1
更新以解决最新评论:我猜将参数类型设置为,[object[]]$stuff
而不是[fileinfo[]]
把
$stuff | out-file c:\logs\logfile.txt #or wherever you want
在进程块中会让你接近。
于 2013-10-04T03:02:27.360 回答