How to redirect the output of a PowerShell to a file during its execution
Maybe Start-Transcript
would work for you. First stop it if it's already running, then start it, and stop it when done.
$ErrorActionPreference="SilentlyContinue"Stop-Transcript | out-null$ErrorActionPreference = "Continue"Start-Transcript -path C:\output.txt -append# Do some stuffStop-Transcript
You can also have this running while working on stuff and have it saving your command line sessions for later reference.
If you want to completely suppress the error when attempting to stop a transcript that is not transcribing, you could do this:
$ErrorActionPreference="SilentlyContinue"Stop-Transcript | out-null$ErrorActionPreference = "Continue" # or "Stop"
Microsoft has announced on Powershell's Connections web site (2012-02-15 at 4:40 PM) that in version 3.0 they have extended the redirection as a solution to this problem.
In PowerShell 3.0, we've extended output redirection to include the following streams: Pipeline (1) Error (2) Warning (3) Verbose (4) Debug (5) All (*)We still use the same operators > Redirect to a file and replace contents >> Redirect to a file and append to existing content >&1 Merge with pipeline output
See the "about_Redirection" help article for details and examples.
help about_Redirection