перенаправить вывод команды - PullRequest
4 голосов
/ 28 апреля 2011

люди, Мне нужно перенаправить вывод команды на 2 файла, в одном потоке перенаправления файла stdout, в другой файл перенаправить поток stderr. Можно ли это сделать в cmd, PowerShell на windows?

Ответы [ 2 ]

4 голосов
/ 28 апреля 2011

Для PowerShell

Допустим, у вас есть my.ps1, как показано ниже:

"output"
Write-Error "error output"
exit 1

Вы можете сделать:

.\my.ps1 2>stderr.txt | Tee-Object -file stdout.txt

Вы получаете stdout и stderr в соответствующих файлах.

Подробнее о Tee-Object:

http://technet.microsoft.com/en-us/library/dd347705.aspx

Подробнее о захвате всех потоков:

https://connect.microsoft.com/feedback/ViewFeedback.aspx?FeedbackID=297055&SiteID=99

1 голос
/ 28 апреля 2011

В Powershell вы можете перенаправить стандартный вывод и ошибку, используя хорошо известные операторы перенаправления >, >>, 2>, 2>>.

Сначала убедитесь, что установлено:

$erroractionpreference.value__=1

Тогда используйте перенаправление.

Примеры:

ls C:\ 2> stderror.txt > stdoutput.txt # write output on stdoutput.txt

ls foo 2> stderror.txt > stdoutput.txt # write output on stderror.txt unless foo exists

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...