将标准输出写入屏幕并归档

时间:2015-10-15 20:08:17

标签: powershell stdout io-redirection

从powershell控制台运行powershell脚本时,我可以将输出重定向到这样的文件:

powershell script.ps1 > file.txt

但是,我需要将输出重定向到文件并仍然将其打印到屏幕上。我怎么能这样做?

1 个答案:

答案 0 :(得分: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