Write output to a text file in PowerShell
Solution 1
Use the Out-File
cmdlet
Compare-Object ... | Out-File C:\filename.txt
Optionally, add -Encoding utf8
to Out-File
as the default encoding is not really ideal for many uses.
Solution 2
The simplest way is to just redirect the output, like so:
Compare-Object $(Get-Content c:\user\documents\List1.txt) $(Get-Content c:\user\documents\List2.txt) > c:\user\documents\diff_output.txt
>
will cause the output file to be overwritten if it already exists.
>>
will append new text to the end of the output file if it already exists.
Solution 3
Another way this could be accomplished is by using the Start-Transcript
and Stop-Transcript
commands, respectively before and after command execution. This would capture the entire session including commands.
For this particular case Out-File
is probably your best bet though.
![bookthief](https://i.stack.imgur.com/9XR9W.jpg?s=256&g=1)
bookthief
Updated on July 18, 2020Comments
-
bookthief almost 4 years
I've compared two files using the following code:
Compare-Object $(Get-Content c:\user\documents\List1.txt) $(Get-Content c:\user\documents\List2.txt)
How can I write the output of this to a new text file? I've tried using an echo command, but I don't really understand the syntax.