【问题标题】:Powershell: How to capture output from the hostPowershell:如何捕获主机的输出
【发布时间】:2010-08-11 22:01:56
【问题描述】:

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

tf get * /recurse

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

我知道我可以做类似的事情

$getOutput = tf get * /recurse

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

【问题讨论】:

    标签: powershell powershell-2.0 output-buffering


    【解决方案1】:

    试试这样的:

    tf get * /recurse | tee-Object -Variable getOutput

    【讨论】:

    • 正是我想要的。非常感谢!
    【解决方案2】:

    PowerShell 2.0 中的tee-object 允许您将结果通过管道传输到两个源。如果您将第二个源留空,则结果将转到控制台。

    ls | tee-object -filePath directoryListing.txt
    

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

    【讨论】:

      猜你喜欢
      • 2018-11-28
      • 2012-05-10
      • 2013-01-06
      • 2018-05-01
      • 1970-01-01
      • 2010-10-29
      • 2018-06-09
      • 2011-01-26
      • 2015-03-26
      相关资源
      最近更新 更多