【问题标题】:PowerShell: Redirect output of a command line tool to the HostPowerShell:将命令行工具的输出重定向到主机
【发布时间】:2012-05-07 13:59:31
【问题描述】:

我正在尝试调用命令行 .exe 工具(x264 转换一些视频)并在 PowerShell 主机中打印其输出。

有很多参数需要传递给x264。到目前为止,我无法使用 Invoke-Item cmdlet 运行它,所以我尝试了

[diagnostics.process]::start($com, $args).WaitForExit()

这工作正常,但它会打开旧的cmd 窗口以显示输出。只是出于好奇,我想知道如何在主机中显示输出。

【问题讨论】:

    标签: powershell


    【解决方案1】:

    我可能完全不知道,没有 PowerShell 专家,但你不能只运行以下命令吗?

    $args = @("list", "of", "args", "here")
    & x264.exe $args
    

    【讨论】:

      【解决方案2】:

      当 cmd 窗口打开时,它会显示输出吗?如果是这样,也许这会有所帮助。

      Start-Process c:\x264.exe -ArgumentList $args -Wait -NoNewWindow
      

      【讨论】:

      • 它输出结果但不在主机中。 (我删除了 -NoNewWindow 参数来检查)另外,是否可以使用这个输出?
      • 我下载了 x264 (core:114 r1913 5fd3dce) 并执行它,它在同一个窗口中运行。将命令分配给变量时会发生什么?变量包含程序完成时的输出?
      • 不,如果我使用变量,它只会打印“True”。我认为这是“0”的输出(成功退出)。
      猜你喜欢
      • 1970-01-01
      • 2021-06-10
      • 2022-01-24
      • 2021-02-08
      • 2021-10-04
      • 1970-01-01
      • 1970-01-01
      • 2012-02-22
      • 2012-12-13
      相关资源
      最近更新 更多