【问题标题】:Caps Lock Toggle in Batch File?批处理文件中的大写锁定切换?
【发布时间】:2015-01-05 03:42:40
【问题描述】:

我正在编写一个使用 choice 命令的批处理文件程序,如下所示:

choice /C Xx /N /CS

不要担心 /M 开关,或 /T 和 /D 开关对,我只是想对这个程序进行防呆,这样用户就不会因为不知道 Caps Lock 状态而意外,做出错误的选择。我在 Microsoft 站点、SO 此处以及其他外部 Internet 资源上阅读了许多文章,这些文章提供了批处理文件解决方案,但所有这些解决方案都涉及某种外部程序,例如 VBS 脚本等。我不介意被推荐给外部来源,或者如果它满足我的需求,我不介意关于 SO 的另一个问题。

简而言之,我希望能够在 pure batch 中切换 Caps Lock,而无需使用 anything 除了批处理文件。提前致谢。

【问题讨论】:

  • 如果你去掉/CS选项,选择将不区分大小写,你不必担心大写锁定的状态。
  • @SomethingDark 请阅读对答案的评论(所以你不认为我是一个愚蠢的菜鸟:P)

标签: windows batch-file capslock


【解决方案1】:

你不能 - Windows BAT/CMD 脚本语言没有办法这样做。 TechNet:CMD 上提供了 CMD 直接支持的语句/命令的完整列表。请注意,即使您使用的choice 也不是脚本语言本身的一部分。

正如 cmets 中指出的那样,删除“/CS”选项将进行您正在寻找的不区分大小写的比较:

选择 /?
...
/CS 允许选择区分大小写的选项。默认情况下,该实用程序不区分大小写。

除非您的目标是非常旧的(我认为是 3.1 或 vanilla 95)版本的 Windows,否则您可以安全地使用 VBS,因为它始终存在于更新的版本以及 JavaScript 中。如果您正在寻找其他命令行实用程序,请查看 XP command line reference,因为它会为您提供最广泛的可用工具列表。

【讨论】:

  • 我不认为这是可能的,但我不得不问一下才能确定。而且我意识到启用 /CS 似乎我非常“笨拙”,但我必须使用它以方便用户使用。 “x”选项执行某个命令集,“X”选项在执行之前添加到该特定命令集。使用大写字母是因为它很容易记住 - 输入 x 或 shift+x。在你问之前,我的程序中还有 23 个其他命令,所以使用 'y' 或类似的代替 'shift+x' 是不切实际的。
  • 如果您真的要让用户从一个菜单中的 23 多个选项中进行选择,我建议您查看 UI 设计教程。关于菜单选择有多少个选项是“最好的”,有几种观点,但没有一个建议超过 10 个。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2014-11-28
  • 1970-01-01
  • 2012-12-13
  • 1970-01-01
  • 2021-07-19
  • 1970-01-01
相关资源
最近更新 更多