PowerShell如何实现命令输出同时显示在控制台并写入文本文件
PowerShell命令输出同时显示到控制台并写入文件的解决方案
方法1:单条命令同时输出和保存(推荐)
使用PowerShell自带的Tee-Object cmdlet,可直接将命令的输出结果同时发送到控制台和指定文件:
- 覆盖目标文件原有内容的用法:
Get-Tpm | Tee-Object -FilePath C:\dssupport\output.txt
- 追加内容到目标文件末尾(不覆盖原有内容)的用法:
Get-Tpm | Tee-Object -FilePath C:\dssupport\output.txt -Append
方法2:记录整个会话的所有输出
如果需要批量记录当前PowerShell会话中所有命令的输入和输出,可以使用转录功能:
- 开启转录,之后所有操作内容都会同步写入文件:
Start-Transcript -Path C:\dssupport\all_output.txt
- 结束转录,停止记录:
Stop-Transcript
之前操作错误的原因
你之前使用的ECHO Get-tpm > C:\dssupport\output.txt中,ECHO(PowerShell中为Write-Output的别名)会直接将后续的Get-tpm作为普通文本输出,并没有实际执行Get-Tpm命令,所以最终写入文件的只有字符串内容而非命令执行结果。如果仅需要将命令结果写入文件不需要控制台显示,直接执行以下命令即可:
Get-Tpm > C:\dssupport\output.txt
内容的提问来源于stack exchange,提问作者KenT58
相关产品推荐
相关产品推荐

