如何设置Windows默认命令行窗口大小和缓冲区大小

如何设置Windows默认命令行窗口大小和缓冲区大小

Windows 命令行 cmd 窗口系统默认的大小(80*40)对于现在的屏幕配置已经跟不上时代了,我们总是要把它改大些,而且缓冲区大小也想改得大大的。单纯的为当前的 Windows 命令行窗口修改显示大小和缓冲区大小就简单了,右键命令行窗口标题,属性里改屏幕缓冲区和窗口大小就是,系统会为与当前标题相同的命令行窗口记住你的设置,比如 C:Windowssystem32cmd.exe。但是经常你又会打开不同标题的命令行窗口,如 Tomat,这时候它又是默认的 80*40 的窗口大小,又得改,再碰不同标题又要改。

于是能否直接修改系统默认的 cmd 窗口和它的缓冲区大小呢,以后碰到新的标题就参考于它。行的,方法是改注册表。

先来看下你可以在命令行下直接指定命令行窗口的大小了,进到命令行执行 mode,可以看到关于控制台的信息如下:

Status for device CON:

----------------------

Lines: 2000

Columns: 120

Keyboard rate: 31

Keyboard delay: 1

Code page: 936

这是我的默认的控制台的大小是 2000 * 120,查看 mode 命令的使用,用 mode /? 关于显示模式的修改提示是:

Display mode: MODE CON[:] [COLS=c] [LINES=n]

于是可以用命令 mode con cols=120 lines=40 或 mode 120,40 来修改窗口大小为 120*40,

窗口大小是被改成了你想要的 120*40, 可是悲催的是屏幕缓冲区的大小也变成了 120*40,这让你无法追溯屏幕打印的历史,也就是说 mode 对于窗口大小和屏幕缓冲区大小不能单独设置。

如果启动 cmd.exe 时同时指定窗口大小为 120*40,可以用参数 /k,完整命令是:

cmd /k "mode con:cols=120 lines=40" 或 cmd /k "mode 120,40"

终极的办法就是修改注册表,先要知道保存系统默认的 cmd 命令窗口的屏幕缓冲区大小的两个键值分别是:

窗口大小: HKEY_CURRENT_USERConsoleScreenBufferSize 如果120*40 时值为 002a0078

屏幕缓冲区大小: HKEY_CURRENT_USERConsoleWindowSize 如 120*2000 时值为 07d00078

这是用的十六进制值来表示的,十六进制可以前加零来补齐为 8 位来理解.十六进制的前四位是高,后四位是宽,如:

002a0078 0078 的十进制是 120, 002a 的十进制是 40,窗口大小是 120*40

07d00078 00078 的十进制是 120, 07d0 的十进制是 2000, 缓冲区大小就是 120*2000

因为涉及到十六进制截断成两部分,所以你想直接转换成十进制数来设置就意义不大了,比如 002a0078 的十进制数是 2752632,谁知道这个数与 120*40 有什么关系呢!

如果觉得这样对应起来算起来麻烦,那就想办法从别处 copy 吧,对于直接命令 cmd 进入的窗口设置好你的窗口大小和屏幕缓冲区大小,注册表里会帮你在HKEY_CURRENT_USERConsole%SystemRoot%_system32_cmd.exe 下创建有你的两个键值 WindowSize 和 ScreenBufferSize,把这两值分别应用给

HKEY_CURRENT_USERConsoleWindowSize

HKEY_CURRENT_USERConsoleScreenBufferSize

就行啦,下次只要是进到命令行窗口时,默认就会应用这个大小。

知道个中原理,你想用什么工具来修改注册表的那两值就随你啦,可以是导出的 reg 文件,或是用下面两条命令来把窗口大小和屏幕缓冲区大小分别改成 120*40 和 120*2000:

reg add "HKEY_CURRENT_USERConsole" /t REG_DWORD /v WindowSize /d 0x002a0078 /f

reg add "HKEY_CURRENT_USERConsole" /t REG_DWORD /v ScreenBufferSize /d 0x07d00078 /f

在 1280*1024 的屏幕分辨率下我比较喜欢设置的命令行窗口大小和屏幕缓冲区大小分别是: 130*42 和 130*2000,相应的命令就是:

reg add "HKEY_CURRENT_USERConsole" /t REG_DWORD /v WindowSize /d 0x002a0082 /f

reg add "HKEY_CURRENT_USERConsole" /t REG_DWORD /v ScreenBufferSize /d 07d00082 /f

我喜欢用 cmd 窗口的快速编辑模式,顺便也把它打开,用命令:

reg add "HKEY_CURRENT_USERConsole" /t REG_DWORD /v QuickEdit /d 0x0000001 /f

以后记下前面三条 reg 命令就 OK 啦,没什么特殊的要求可以不用为某些标题对应的窗口单独设置这些属性了。比如你不需要为 C:Windowssystem32cmd.exe 单独设置窗口的属性就把注册表的键 HKEY_CURRENT_USERConsole%SystemRoot%_system32_cmd.exe 删除了事。

(0)

相关推荐

  • windows下命令行发送邮件blat.exe

    windows下命令行发送邮件blat.exe简介 下载最新的工具包,解压并拷贝到操作系统盘的System32 目录下。我的环境C:WindowsSystem32. 确认文件已经拷贝过去: blat. ...

  • 一招教你在2019版wps中设置模板默认首行缩进

    相信很多小伙伴在日常办公中都会用到wps,在其中如何才能设置模板默认首行缩进呢?方法很简单,下面小编就来为大家介绍.具体如下:1. 首先,打开电脑上的wps.进入后,点击页面上端的"开始&q ...

  • Windows 演示设置如何使用命令行控制

    在 Windows 7 上, 微软引入了一个叫 Windows 移动中心的程序,在这里,可以集中控制笔记本计算机的各项主要设置,例如电源方案、屏幕亮度等等。在 Windows 8 中,这个程序得以保留 ...

  • 设置Windows默认使用程序

    现在很多厂家都推出了功能类似的应用软件,比如我们常用的音频.视频的播放软件就有很多可以选择使用的,但是这些第三方软件,在安装后会有部分修改Windows默认的使用程序,很多的时候我们在安装的时候都不是 ...

  • windows cmd命令行下创建删除文件和文件夹

    在window下我们往往通过'右键=>新建'命令来创建文件和文件夹,但有时会遇到 以点开头的文件,比如 .log ,这种文件用鼠标新建是新建不了的,这时我们可以在DOS下用命令行来创建.所以在这 ...

  • 怎么重置windows7系统网络设置使用cmd命令行实现

    Windows7网络出问题了怎么办? 开始→搜索cmd.exe,右键以管理员权限启动 然后分别运行以下命令: 复制代码 代码如下: NETSH INT IP RESET NETSH WINHTTP R ...

  • 如何打开windows命令窗口(windows的命令行窗口在哪)

    导语:传统的打开命令窗口的方法是点击系统[开始]菜单.点击[运行].输入CMD .实际上还有更加快捷的方法.工具:windows7操作系统 .键盘操作:1.按住shift键不动2.在桌面空白处右击3. ...

  • windows命令行cmd窗口大小(80*40)和缓冲区大小修改方法

    Windows 命令行 cmd 窗口系统默认的大小(80*40)对于现在的屏幕配置已经跟不上时代了,我们总是要把它改大些,而且缓冲区大小也想改得大大的。单纯的为当前的 Windows 命令行窗口修改显 ...

  • 如何更改Windows命令行字体

    平常工作时不时地会用到Windows命令行,编译个小程序或者使用某些命令行程序什么的,但是中文版Windows的命令行可选的字体只有点阵字体和新宋体,我都不喜欢.在网上搜索了一下,发现这个问题源自于W ...