PowerShell 脚本,显示运行的命令

Nel*_*mel 46 powershell command

我正在使用 PowerShell 脚本,它们运行良好。但是,我想知道是否有任何方法可以显示所有已运行的命令,就像您自己手动输入它们一样。这类似于批处理文件中的“回显”。我查看了 PowerShell 命令行参数和 cmdlet,但没有发现任何明显的东西。谢谢!

Spo*_*boy 57

下面的命令会将每一行脚本输出到 Write-Debug-

Set-PSDebug -Trace 1
Run Code Online (Sandbox Code Playgroud)

man Set-PSDebug

当 Trace 参数设置为 1 时,脚本的每一行都会在执行时被跟踪。当参数设置为 2 时,还会跟踪变量赋值、函数调用和脚本调用。如果指定了 Step 参数,则在执行脚本的每一行之前都会提示您。

  • 如果您将此添加到使用 `Param` 的脚本中,请确保将此行放在 param-defining 块下方,否则可能会导致失败。 (3认同)

Jay*_*uzi 5

echo on在 CMD 中使用的地方,我现在使用Write-VerboseandSet-PSDebug -Step代替。它们并不相同,但如果巧妙地使用它们,它们会更加强大。


Hel*_*ick 2

help about_History 
Run Code Online (Sandbox Code Playgroud)

会告诉你所有的命令和

Get-History [options]  
Run Code Online (Sandbox Code Playgroud)

将返回完整列表供您操作\显示等。

  • 我发现“set-psdebug -trace 1”将显示命令,但我不想要很多额外的“噪音”。get-history 不会在脚本中输出任何内容。如果确实如此,我可以将其粘贴在脚本的末尾,但是命令将不会内嵌(在命令输出之前),并且任何异常都会跳过它(当然,除非我捕获它)。这仍然是一个值得记住的好主意......还有其他想法吗? (2认同)