在powershell脚本中捕获批处理文件的输出

got*_*_10 4 powershell powershell-1.0

我需要捕获从.ps1文件中运行的.bat文件创建的输出.

我是PowerShell脚本的新手,但我知道这不是正确的语法.这最好地说明了我需要发生的事情.

我需要执行facter.bat脚本然后存储它的输出,$Body以便稍后我可以使用该文本.

 "C:\Program Files (x86)\Puppet Labs\Puppet\bin\facter.bat" > $Body
Run Code Online (Sandbox Code Playgroud)

EBG*_*een 8

这应该这样做:

$ Body =&"C:\ Program Files(x86)\ Puppet Labs\Puppet\bin\facter.bat"

  • 它有效,但此解决方案存在问题。这样做只包含标准输出,但不包含标准错误。有没有办法我们也可以捕捉到它? (2认同)