Command line 使用命令提示符修改cmd.exe属性

Command line 使用命令提示符修改cmd.exe属性,command-line,command-prompt,cmd,Command Line,Command Prompt,Cmd,这不是很好的递归吗 我的外置驱动器上有一个便携式命令提示符,它有一个很好的.bat文件来配置一些初始设置,但我想要更多 以下是我知道如何设置的。蝙蝠: 颜色=(颜色XY),其中x和y是预定义颜色的十六进制数字 Prompt=(Prompt$p$g)将提示设置为默认提示“C:\etc\etc>” Title=(Title“text”)将窗口标题设置为“text” 屏幕大小=(模式con:cols=XX lines=YY)设置窗口的列和行大小 Path=(SET Path=%~d0\bin;%Pa

这不是很好的递归吗

我的外置驱动器上有一个便携式命令提示符,它有一个很好的.bat文件来配置一些初始设置,但我想要更多

以下是我知道如何设置的。蝙蝠:

  • 颜色=(颜色XY),其中x和y是预定义颜色的十六进制数字
  • Prompt=(Prompt$p$g)将提示设置为默认提示“C:\etc\etc>”
  • Title=(Title“text”)将窗口标题设置为“text”
  • 屏幕大小=(模式con:cols=XX lines=YY)设置窗口的列和行大小
  • Path=(SET Path=%~d0\bin;%Path%)设置我的工具的本地路径并附加计算机的路径
那太好了。但有一些设置我似乎无法从球拍上设置。例如,我将如何使用属性对话框设置这些:

  • 缓冲区=不是屏幕大小,而是缓冲区大小
  • 快速编辑模式和自动完成等选项
  • 弹出颜色
  • 字体。您可以在便携式硬盘上使用字体,还是必须安装才能工作
  • 命令历史记录选项

关于自动完成:

文件名和目录名完成为 默认情况下未启用。你可以 启用或禁用文件名完成 对于CMD.EXE的特定调用 使用/F:ON或/F:OFF开关。你 可以为启用或禁用完成 在一个服务器上对CMD.EXE的所有调用 计算机和/或用户登录会话 设置一个或两个 下列注册表项中的注册表项值 使用REGEDT32.EXE的注册表:

HKEY_LOCAL_MACHINE\Software\Microsoft\Command Processor\CompletionChar
HKEY_LOCAL_MACHINE\Software\Microsoft\Command Processor\PathCompletionChar

    and/or

HKEY_CURRENT_USER\Software\Microsoft\Command Processor\CompletionChar
HKEY_CURRENT_USER\Software\Microsoft\Command Processor\PathCompletionChar
使用控件的十六进制值 用于特定字符的字符 函数(例如0x4为Ctrl-D,0x6 是Ctrl-F)。用户特定的 设置优先于 机器设置。命令行 开关优先于 注册表设置

如果使用 /F:打开开关,两个控制按钮 使用的字符是Ctrl-D 目录名完成和Ctrl-F 用于文件名完成。禁用 一种特殊的补全字符 在注册表中,使用空格值 (0x20),因为它不是有效的控件 性格


在那里找不到任何命令历史记录选项(cmd/?),您询问的其他选项似乎是通过注册表设置专门设置的。

关于设置缓冲区大小:

使用
模式con:cols=XX lines=YY
不仅设置窗口(屏幕)大小,还设置缓冲区大小

如果根据可用屏幕大小指定系统允许的大小,您将看到窗口和缓冲区维度都设置为相同的值。e、 g:

mode con: cols=100 lines=30
结果如下(数值相同):

  • 窗口大小:宽度=160,高度=78
  • 缓冲区大小:宽度=160,高度=78
相反,如果基于可用屏幕大小指定的值太大,则会看到窗口大小更改为其最大值,但缓冲区大小更改为指定的值

mode con: cols=1600 lines=900
屏幕分辨率为1280x1024时,您将获得:

  • 窗口大小:宽度=160,高度=78
  • 缓冲区大小:宽度=1600,高度=900

对于真正的缓冲区大小调整,请使用DOSKEY/LISTSIZE=Size


由于Microsoft将ANSI ESC控件从命令/cmd提示中删除,因此无法再在shell中更改颜色。

您可以通过快捷方式(.LNK文件)设置这些值

我的桌面上有一个快捷方式,将其作为“目标:”

%windir%\system32\cmd.exe/K C:\MIKE\STARTUP.cmd

K开关告诉CMD运行批处理文件(设置一些变量、提示等),然后保持打开状态


如果右键单击快捷方式并查看其属性,则可以设置窗口和缓冲区大小、弹出颜色、起始位置(x、y轴)等。这些设置将保存在快捷方式中,并在每次使用该快捷方式打开CMD时应用

这很可能出现在ServerFault.com上——您可能会在那里找到更好的答案。因为您显然是超级用户,您可能希望尝试CMD.EXE的替代品,如Cygwin(bash/zsh)或Microsoft的PowerShell。两者都非常适合定制,尽管我个人没有使用过PowerShell。我确实喜欢PowerShell,但它不可移植(嗯……没有一些技巧和ThinApp软件)。便携式cygwin可能是一种有效的替代方案。有趣的是,Console2程序(就像一个外壳的包装器)似乎很理想,但它不能与可移植的命令提示符一起工作!如图所示。快速编辑检查DOSKEY/LISTSIZE会影响之前记住的命令数量,而不是显示缓冲区。不幸的是,结论是:除非您愿意最大化控制台窗口(在宽度和/或高度方面),否则无法使用
模式
修改缓冲区设置。