Powershell 将标准输出写入屏幕和文件

Powershell 将标准输出写入屏幕和文件,powershell,stdout,io-redirection,Powershell,Stdout,Io Redirection,从powershell控制台运行powershell脚本时,我可以将输出重定向到如下文件: powershell script.ps1 > file.txt 但是,我需要将输出重定向到一个文件,并仍然将其打印到屏幕上。我怎样才能做到这一点呢?使用一个。您可以通过以下两种方式之一进行操作,最简单的方法可能是在脚本中包含以下行: 在“Script.ps1”中 第二种方法是这样调用脚本: Start-Transcript "C:\file.txt" .\Script.ps1 Stop-Tran

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

powershell script.ps1 > file.txt
但是,我需要将输出重定向到一个文件,并仍然将其打印到屏幕上。我怎样才能做到这一点呢?

使用一个。您可以通过以下两种方式之一进行操作,最简单的方法可能是在脚本中包含以下行:

在“Script.ps1”中

第二种方法是这样调用脚本:

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

看看Tee Object cmdlet,看看这是否能让您朝着正确的方向前进。1)我宁愿只使用一行代码2)它可以转录所有内容,而不仅仅是标准代码,面向未来的用户:这不适用于Python 3,可能还适用于更多的软件。
try{
Stop-Transcript
}catch{}
Start-Transcript "C:\file.txt"
# the rest of your script
Stop-Transcript