Перенаправить вывод скрипта PowerShell в файл с помощью командной строки - PullRequest
0 голосов
/ 11 июля 2019

Как перенаправить вывод скрипта PowerShell 5.0 в файл с помощью cmd в Windows 10? Я попробовал следующее:

powershell ".\myscript.ps1 | Out-File outfile.txt"

и

powershell .\myscript.ps1 > outfile.txt

безрезультатно. outfile.txt создан, но остается пустым. Окно командной строки запускается с правами администратора.

В скрипте я использую:

Write-Host $MyVar
Write-Host $SomeOtherVar

для вывода значений на экран.

Ответы [ 2 ]

1 голос
/ 11 июля 2019

Используйте определенные операторы перенаправления PowerShell :
(они также работают в командной строке (cmd))

Перенаправить поток успеха (1>):

powershell .\myscript.ps1 1> outfile.txt

Перенаправить все потоки (*>):

powershell .\myscript.ps1 *> outfile.txt
1 голос
/ 11 июля 2019

В скрипте я использую:

Write-Host $MyVar
Write-Host $SomeOtherVar

для вывода значений на экран.

Да, это твоя проблема! Write-Host записывает информацию прямо в экранный буфер хост-приложения, поэтому стандартный поток вывода никогда ничего не увидит.

Измените ваши Write-Host заявления на Write-Output (или просто удалите их):

Write-Output $MyVar
Write-Output $SomeOtherVar
# or simply
$MyVar
$SomeOtherVar
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...