How to Execute a .bat File within a PowerShell Job
Most of the time, you run Windows batch files using the Command Execution Method, which replicates running them in a command prompt window (cmd.exe). But, what if you need to perform additional processing within the same job and you are running that batch processing in PowerShell? You have several methods to launch Windows batch files from within PowerShell using these methods:
How to Start a Command Procedure in PowerShell
You can start a command procedure from PowerShell with the following code. Replace the path and file with your own information.
Once you’ve called your batch file, you can customize it to the task at hand. For example:
How to Capture the Output of the Batch File
If you want to capture the output of the .bat file, you can use:
$out = C:Pathfile.bat
How to Start a Process with your .bat File
If you want to start a process with your .bat file, you can use the PowerShell start-process cmdlet:
How to Control cmd.exe
And, if you if you want to control cmd.exe, you can use this:
start-process "cmd.exe" "/c C:Pathfile.bat"
The start-process cmdlet is a standard PowerShell cmdlet, so anyone can use it. JAMS users leverage it regularly and combine it with JAMS specific cmdlets in our PowerShell Scheduler to add intelligent automation to batch files.