【发布时间】:2021-01-30 10:51:35
【问题描述】:
我有一个通过自动化运行的 PowerShell 脚本,因此我需要将脚本的输出捕获到一个文件中,但我还想捕获运行的命令,以便为输出提供一些上下文(I' d 在 Linux shell 脚本中使用set -x)。不过,我不知道如何将这些命令捕获到 Windows 的输出文件中;非常感谢任何帮助!
# script.ps1
Set-PSDebug -Trace 1
Write-Host "Hello, World!"
我如何调用脚本(来自 cmd):
$ powershell -command "./script.ps1 *>&1 | Tee-Object -FilePath ./output.txt"
终端输出:
DEBUG: 2+ >>>> Write-Host "Hello, World!"
Hello, World!
output.txt 文件内容:
Hello, World!
您可以看到输出文件缺少终端中显示的调试行。 理想情况下,我希望调试行只在输出文件中(而不是终端输出),但在这两个地方都有调试行也可以。
请注意,PowerShell 5.1 是我安装的版本。
【问题讨论】:
标签: powershell trace io-redirection