Reputation: 5623
I am attempting to redirect output of a Powershell script to a txt file.
In the Powershell window, I try:
.\script.ps1 > list.txt
But it does not help, all output still gets printed to the window.
I then tried:
.\script.ps1 >& list.txt
And got this error:
Missing file specification after redirection operator.
At line:1 char:21
+ .\script.ps1 > <<<< & list.txt
+ CategoryInfo : ParserError: (:) [], ParentContainsErrorRecordException
+ FullyQualifiedErrorId : MissingFileSpecification
Upvotes: 2
Views: 14180
Reputation: 19203
You don't need the &
after the >
. It is only used to execute something.
.\script.ps1 > list.txt
If script.ps1
is outputting using Write-Host
or [Console]::WriteLine
you will need to update it.
Here is an example of updating a Write-Host
script to be outputable.
Upvotes: 0
Reputation: 52577
If you are writing output in script.ps1 using Write-Host
(or [Console]::WriteLine
) you will either need to change those to Write-Output
or do this:
powershell.exe -File test.ps1 > out.txt
By the way >
is syntactic sugar for Out-File
, they are the same thing.
Upvotes: 3
Reputation: 68243
If the output you're wanting to capture is being written to the console using Write-Host, you need to change that to Write-Output.
Upvotes: 0