如何重定向输出?

时间:2012-03-20 22:25:20

标签: powershell io windows-xp

我正在尝试将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

3 个答案:

答案 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脚本更新为可输出的示例。