我正在尝试将Powershell脚本的输出重定向到txt文件。
在Powershell窗口中,我尝试:
。\ script.ps1> LIST.TXT
但它没有帮助,所有输出仍会打印到窗口。
然后我尝试了:
。\ script.ps1>& LIST.TXT
得到了这个错误:
Missing file specification after redirection operator.
At line:1 char:21
+ .\script.ps1 > <<<< & list.txt
+ CategoryInfo : ParserError: (:) [], ParentContainsErrorRecordException
+ FullyQualifiedErrorId : MissingFileSpecification
答案 0 :(得分:3)
如果您使用Write-Host
(或[Console]::WriteLine
)在script.ps1中编写输出,则需要将其更改为Write-Output
或执行此操作:
powershell.exe -File test.ps1 > out.txt
顺便说一下,>
是Out-File
的语法糖,它们是一样的。
答案 1 :(得分:0)
如果您要捕获的输出正在使用Write-Host写入控制台,则需要将其更改为Write-Output。
答案 2 :(得分:0)
&
之后您不需要>
。它仅用于执行某些操作。
.\script.ps1 > list.txt
如果script.ps1
使用Write-Host
或[Console]::WriteLine
输出,则需要更新。
Here是将Write-Host
脚本更新为可输出的示例。