Capture output of a batch file in powershell script

16.7k Views Asked by At

I need to capture the output created by a .bat file that is run from within a .ps1 file.

I'm new to powershell scripting but I know this isn't correct syntax. This best illustrates what I need to have happen.

I need to execute the facter.bat script then store its output in $Body so I can use that text later.

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

There are 2 best solutions below

2
On BEST ANSWER

This should do it:

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

0
On

If you need to copy the output directly to another file, you can use the following command

& "C:\Program Files (x86)\Puppet Labs\Puppet\bin\facter.bat" | Out-File -FilePath "<FilePathToWrite>.txt"