【发布时间】:2020-03-07 01:57:25
【问题描述】:
我有一个运行许多命令的长脚本。这些命令通过标准输出和标准错误将文本打印到屏幕上。我想在脚本末尾添加一些逻辑,将所有文本打印到屏幕(标准输出或标准错误)并将其保存到文本文件中。
但是,我确实不想要将标准输出和标准错误重定向到文本文件,因为我希望脚本的用户能够看到所有打印到屏幕上的真实文本脚本运行的时间。实际上,在脚本中的某些点,某些命令可能会要求用户输入。相反,我希望能够“GetScreenContentsText()”,然后将其输出写入屏幕。
有没有办法在 PowerShell 中做到这一点?
【问题讨论】:
-
不是事后,但您可以在调用(或开始)脚本之前运行
Start-Transcript -Path transcript.log,它会为您转录会话 -
我尝试使用 Start-Transcript 进行类似的操作,但我发现从脚本运行时它的行为与您预期的不同。根据我的经验,它真的只对交互式会话非常有用。
-
这完全取决于你的期望:)
标签: windows powershell windows-server-2016