Powershell:如何捕获主机的输出

时间:2010-08-11 22:01:56

标签: powershell powershell-v2.0 output-buffering

我正在使用powershell来自动执行与TFS中的签出/合并相关的一些任务。当我打电话

tf get * /recurse

我得到一堆数据滚动关于正在检出的文件。此命令生成的最后一行(假设其成功)是一个告诉签入号码的行。我想解析它,以便以后可以在我的脚本中使用。

我知道我可以做类似

的事情
$getOutput = tf get * /recurse

然后输出被完全抑制,我希望该命令的输出实时滚动。我基本上想要抓住刚刚发送到输出缓冲区的所有内容。

2 个答案:

答案 0 :(得分:6)

尝试这样的事情:

获取* / recurse | tee-Object -Variable getOutput

答案 1 :(得分:3)

PowerShell 2.0中的tee-object允许您将结果传递给两个来源。如果将第二个源留空,则结果将转到控制台。

ls | tee-object -filePath directoryListing.txt

这会将目录列表写入控制台和文本文件。