Как перенаправить вывод? - PullRequest
2 голосов
/ 21 марта 2012

Я пытаюсь перенаправить вывод скрипта Powershell в текстовый файл.

В окне 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 ]

3 голосов
/ 21 марта 2012

Если вы пишете выходные данные в script.ps1, используя Write-Host (или [Console]::WriteLine), вам нужно либо изменить их на Write-Output, либо сделать следующее:

powershell.exe -File test.ps1 > out.txt

Кстати > - это синтаксический сахар для Out-File, это одно и то же.

0 голосов
/ 21 марта 2012

Вам не нужно & после >. Он используется только для выполнения чего-либо.

.\script.ps1 > list.txt

Если script.ps1 выводится с использованием Write-Host или [Console]::WriteLine, вам необходимо обновить его.

Здесь - пример обновления сценария Write-Host для обеспечения его доступности.

0 голосов
/ 21 марта 2012

Если вывод, который вы хотите захватить, записывается на консоль с помощью Write-Host, вам нужно изменить его на Write-Output.

...