0

我有一个将输出写入日志文件和控制台的脚本。我正在运行命令 Add-WindowsFeatures... 我想获取此命令的输出并将其通过管道传输到我的脚本。可能吗?

4

1 回答 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 回答