【问题标题】:Powershell menu selection (like GRUB, curses, etc.) [closed]Powershell 菜单选择(如 GRUB、curses 等)[关闭]
【发布时间】:2013-07-10 16:27:13
【问题描述】:

我想在 Powershell 中为用户提供一个菜单,他可以在其中使用箭头键选择实体,就像在 GRUB 中一样,或者只是用诅咒的基本概念来替换 (Y)es 或 (N)o 命令行输入. (或用于文件夹选择或其他)

是否已经有一个框架或可以帮助我的东西作为起点?

我已经检查了 Out-GridView,但这会将 Powershell 留给另一个窗口。

【问题讨论】:

  • CLRCLI 是一个 curses 风格的 .Net 项目,在 this blog post 中提到过在 Powershell 中使用它。我受到下面链接的启发,写了a simple ASCII menu,它被一个 ASCII 框包围。

标签: powershell user-interface


【解决方案1】:

您需要使用专为控制台菜单设计的System.Management.Automation.Host.ChoiceDescription .NET Framework 类。

对于一个非常好的使用示例,请参阅这篇Technet Blog 文章。

编辑:我错过了您想要箭头键/输入键驱动的 CLI 菜单这一事实。

我从 Jakob Bindslet 找到了一个 blog post,这似乎正是您想要的,虽然我承认我还不能尝试,但我等不及了!

编辑:可以找到 Micahel Albert 的另一个绝佳选择on his blog;我发现此选项的优越性在于它不会清除箭头导航上的控制台窗口。

【讨论】:

  • OP 说他想要一个菜单​​,用户可以在其中使用箭头键进行选择(可能是通过突出显示选项并使用 [ENTER] 进行选择),而不是控制台菜单,您可以在下面的提示符下键入您的选择菜单。
  • 谢谢@AdiInbar - 我没有注意到,一定是快速浏览了!
  • 哇,谢谢!现在我什至知道我正在搜索的术语 CLI 菜单,哈哈!我会尝试一下,但我认为这会满足我的需求。
  • 我修改了 Micahel Albert 的脚本,以使用 [ordered] 字典,这意味着菜单将因此以更可控/合乎逻辑的顺序出现。我还添加了环绕箭头键支持。效果很好。
  • 我已经修改了 Jakob 变体,现在只重绘更改的行,不需要控制台清除 gist.github.com/hapylestat/b940d13b7d272fb6105a1146ddcd4e2a
猜你喜欢
  • 2016-06-16
  • 2017-08-29
  • 2020-06-12
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2022-01-05
  • 1970-01-01
  • 2019-02-17
相关资源
最近更新 更多