介绍与演示
一个负责任的脚本应当会在关键的地方写日志,最好写到文件中,这样排错时尤其方便。凌驾于日志之上的是把整个脚本执行过程录制成视频,但是有时控制台是隐藏的,而且视频不方便文本搜索,也比较耗费资源。所以能自动重定向控制台输出到指定文件,是最好的选择。
此时Start-Transcript和Stop-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
请尊重原作者和编辑的辛勤劳动,欢迎转载,并注明出处!
请尊重原作者和编辑的辛勤劳动,欢迎转载,并注明出处!
牛,这个方法对我来说非常有用。不知道C#VS中有无类似方法。
没有,不过倒是有个监听trace log的方法,你可以通过在app.config中配置,然后所有的trace都会自动写在一个文件中。
广播: PowerShell默认参数$PSDefaultParameterValues的妙用 | PowerShell 中文博客