【问题标题】:Windows CMD Customization Quest¡onWindows CMD 自定义任务
【发布时间】:2014-02-04 20:35:10
【问题描述】:

如果可能的话,有人可以帮我做吗?

我想自定义 Windows 7 命令提示符 (cmd.exe),这样它就不会显示 C:\Users\Blah> ,而是显示

[HH:MM] text@text ~ $

基本上,我想让它看起来像 Arch Linux,但实际上不是。

/暂停

【问题讨论】:

  • 使用prompt 命令。输入help prompt 语法

标签: windows terminal cmd command command-prompt


【解决方案1】:

正如 foxidrive 在评论中所说,PROMPT 的内置帮助文档描述了 PROMPT 命令的可用元字符。

没有直接的方法来获取 HH:MM 的时间。您将不得不使用退格键来删除分钟和秒。此外,少于 10 小时的小时数可能有前导空格而不是前导零,具体取决于区域设置。

prompt [$T$H$H$H$H$H$H] text@text ~ $$ 

【讨论】:

  • 区域设置允许用户更改%time%格式,使其可以设置为HH:MM,然后在提示符中使用%time%
  • @foxidrive - 是的,区域设置应该反映在$T 输出中,所以我稍微更新了我的答案。但我认为使用%time%!time! 在提示中获取动态时间值是不可能的——你必须使用$T
  • 这在一定程度上有所帮助,我已经完成了大部分工作,但我仍然需要一种方法来获得不显示 C 盘的路径。例如:[Blah] text@text Users/Username/Desktop ~ $ 所以没有 C:\,并且 \'s 变成了 /'s。如果仅在 CMD 中无法做到这一点,我可以用批处理文件以某种方式做到这一点吗?
  • @HudsonSerge - 我很确定您仅限于帮助中列出的动态值,以及任何字符串文字。无法通过批处理或任何其他脚本语言动态操作提示。
【解决方案2】:

试试Clink,它支持使用 Lua 脚本自定义提示,以及像 Arch Linux 一样添加 Bash 风格的行编辑、补全和历史记录。

【讨论】: