2015-10-15 2 views
0

При запуске Powershell скрипт из консоли PowerShell, я могу перенаправить вывод в файл, как это:запись стандартный вывод на экран и файл

powershell script.ps1 > file.txt 

Однако, мне нужно перенаправить вывод в файл и еще напечатайте его на экране. Как я могу это сделать?

+2

Посмотрите на командлет Tee-Object и посмотрите, что получает вы собираетесь в праве направление. – EBGreen

ответ

1

Использовать transcript. Вы можете сделать это одним из двух способов, самый простой, вероятно, в том числе и эти строки в вашем скрипте:

В «Script.ps1»

Start-Transcript "C:\file.txt" 
# the rest of your script 
Stop-Transcript 

Второй способ будет вызывать ваш сценарий следующим образом:

Start-Transcript "C:\file.txt" 
.\Script.ps1 
Stop-Transcript 

Имейте в виду, что если вы попытаетесь запустить стенограмму, без предыдущей транскрипции, которая не будет остановлена, она выдаст ошибку. Так что в вашем скрипте, перед командой Start-Transcript, может сделать это только, чтобы обеспечить расшифровку не все еще работает:

try{ 
Stop-Transcript 
}catch{} 
Start-Transcript "C:\file.txt" 
# the rest of your script 
Stop-Transcript 
+0

1) Я бы предпочел только однострочный 2) Это расшифровывает все, а не только stdout – horns

Смежные вопросы