如何允许用户“暂停当前管道并返回到命令提示符”,然后在powershell脚本中继续?
我在一篇关于Powershell中用户交互的blog post文章中偶然发现了这一行
$suspend = New-Object System.Management.Automation.Host.ChoiceDescription "&Suspend", "Pause the current pipeline and return to the command prompt. Type ""exit"" to resume the pipeline."
这是一个提示符中的mock选项,模仿了本机命令(Remove-Item)的外观。那个命令实际上实现了那个行为。做了一个快速的谷歌搜索,我没有在脚本中找到一个实现。
2条答案
按热度按时间ffscu2ro1#
可以使用
$Host.EnterNestedPrompt()
暂停当前操作以进入“嵌套”提示符-退出后将恢复执行(使用exit
或$Host.ExitNestedPrompt()
):现在尝试使用和不使用
-Intervene
开关调用函数:zmeyuzjn2#
Mathias R. Jessen's helpful answer无疑是适合您使用情形的最佳解决方案。
因为存在功能重叠,所以让我提供一个脚本或函数的按需 * 调试 * 解决方案,使用
Wait-Debugger
cmdlet,它还在当前范围内输入嵌套提示符,同时提供附加的调试特定功能来单步调试代码。执行
foo
会显示yes/no提示,提示是否应进入调试器。可以使用
exit
或简单地使用c
(特定于调试的命令之一;h
显示它们全部)。