重定向控制台输出

自动重定向PowerShell控制台输出到文件 3


介绍与演示

一个负责任的脚本应当会在关键的地方写日志,最好写到文件中,这样排错时尤其方便。凌驾于日志之上的是把整个脚本执行过程录制成视频,但是有时控制台是隐藏的,而且视频不方便文本搜索,也比较耗费资源。所以能自动重定向控制台输出到指定文件,是最好的选择。

此时Start-TranscriptStop-Transcript派上用场。

在控制台中测试:

重定向控制台输出

重定向控制台输出

完了以后打开日志文件对比一下:

**********************
Windows PowerShell 脚本开始
开始时间: 20140418205616
用户名  : HOME-WIN8\非苔 
计算机	  : HOME-WIN8 (Microsoft Windows NT 6.3.9600.0) 
**********************
已启动脚本,输出文件为 log.txt
PS> Get-Date

2014年4月18日 20:56:41

PS> Get-Location

Path                                                                                                                   
----                                                                                                                   
I:\Users\非苔                                                                                                          

PS> Stop-Transcript
**********************
Windows PowerShell 脚本结束
结束时间: 20140418205650
**********************

文件独占与解决方案

Start-Transcript会以独占的方式打开日志文件,所以在Stop之前不能通过脚本单独往日志中写内容。

  • 方案一:考虑一下必要性,写在控制上的输出都会自动重定向到日志文件,所以用Write-Host即可。
  • 方案二:使用第二个日志文件,避免冲突。
本文链接: https://www.pstips.net/redirect-console-output-to-file.html
请尊重原作者和编辑的辛勤劳动,欢迎转载,并注明出处!

关于 Mooser Lee

我是一个Powershell的爱好者,创建了PowerShell中文博客,热衷于Powershell技术的搜集和分享。本站部分内容来源于互联网,不足之处敬请谅解,并欢迎您批评指正。

发表评论

您的电子邮箱地址不会被公开。 必填项已用 * 标注

3 条评论 “自动重定向PowerShell控制台输出到文件