哪些 cmdlet 使用 IHostUISupportsMultipleChoiceSelection 接口来提示选择?
我不记得以前在 PowerShell 中曾被提示进行多项选择,但我见过几个实现此接口的主机示例。不幸的是,这些是我见过的对该界面的唯一参考。我从未见过“这是如何测试您是否正确实施它的方法”。
I don't remember ever being prompted for multiple selections before in PowerShell, but I've seen several examples of hosts implementing this interface. Unfortunately, those are the only references I've seen to the interface. I've never seen "here's how to test that you're implementing it correctly".
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
例如:命令
Remove-Item C:\TEMP\Test
提示您选择:或者您可以使用此脚本(或其想法)构建您自己的调用:
Get-Choice.ps1 - 显示 PowerShell 样式菜单并获取用户选择< /a>
For example: the command
Remove-Item C:\TEMP\Test
prompts you to choose:Or you can build your own call using this script (or its idea):
Get-Choice.ps1 - Displays PowerShell style menu and gets a user choice
请忽略我的第一个答案;正如我现在所看到的,这根本不是一个答案。谢谢你提出了一个非常有趣的问题。
我仍然不知道使用该接口的 cmdlet。但我们可以通过脚本自己使用它。让我们修改提到的 Get-Choice.ps1 并调用新的 Get-Choice2.ps1:
现在我们测试它:
它打印 10 个选择,前 3 个突出显示(在控制台主机中),并提示:
如果我们按
Enter
立即输出是默认的 3 个索引:0、1、2。如果我们输入,例如:5 + Enter + 3 + Enter + 1 + Enter + Enter
那么输出是 4, 2, 0。它有效。 PowerShell ISE 也支持此功能,但 GUI 版本中的 UI 可能会更好。
Please, disregard my first answer; it is not an answer at all, as I can see now. And thank you for a really interesting question.
I still do not know cmdlets that use that interface. But we can use it on our own from scripts. Let's modify the mentioned Get-Choice.ps1 and call the new one Get-Choice2.ps1:
Now we test it:
It prints 10 choices, the first 3 are highlighted (in the console host), and prompts:
If we press
Enter
immediately the output is the default 3 indexes: 0, 1, 2. If we type, for example:5 + Enter + 3 + Enter + 1 + Enter + Enter
then the output is 4, 2, 0.It works. PowerShell ISE also supports this but the UI might be something better in GUI version, perhaps.