[cmd]如何设置 Windows 默认命令行窗口大小和缓冲区大小
Windows 命令行 cmd 窗口系统默认的大小(80*40)对于现在的屏幕配置已经跟不上时代了,我们总是要把它改大些,而且缓冲区大小也想改得大大的。单纯的为当前的 Windows 命令行窗口修改显示大小和缓冲区大小就简单了,右键命令行窗口标题,属性里改屏幕缓冲区和窗口大小就是,系统会为与当前标题相同的命令行窗口记住你的设置,比如 C:\Windows\system32\cmd.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_USER\Console\ScreenBufferSize 如果120*40 时值为 002a0078 屏幕缓冲区大小: HKEY_CURRENT_USER\Console\WindowSize 如 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_USER\Console\%SystemRoot%_system32_cmd.exe 下创建有你的两个键值WindowSize 和 ScreenBufferSize,把这两值分别应用给
HKEY_CURRENT_USER\Console\WindowSize HKEY_CURRENT_USER\Console\ScreenBufferSize
就行啦,下次只要是进到命令行窗口时,默认就会应用这个大小。
知道个中原理,你想用什么工具来修改注册表的那两值就随你啦,可以是导出的 reg 文件,或是用下面两条命令来把窗口大小和屏幕缓冲区大小分别改成 120*40 和 120*2000:
|
1
2
|
reg add "HKEY_CURRENT_USER\Console" /t REG_DWORD /v WindowSize /d 0x002a0078 /freg add "HKEY_CURRENT_USER\Console" /t REG_DWORD /v ScreenBufferSize /d 0x07d00078 /f |
在 1280*1024 的屏幕分辨率下我比较喜欢设置的命令行窗口大小和屏幕缓冲区大小分别是: 130*42 和 130*2000,相应的命令就是:
|
1
2
|
reg add "HKEY_CURRENT_USER\Console" /t REG_DWORD /v WindowSize /d 0x002a0082 /freg add "HKEY_CURRENT_USER\Console" /t REG_DWORD /v ScreenBufferSize /d 07d00082 /f |
我喜欢用 cmd 窗口的快速编辑模式,顺便也把它打开,用命令:
|
1
|
reg add "HKEY_CURRENT_USER\Console" /t REG_DWORD /v QuickEdit /d 0x0000001 /f |
以后记下前面三条 reg 命令就 OK 啦,没什么特殊的要求可以不用为某些标题对应的窗口单独设置这些属性了。比如你不需要为 C:\Windows\system32\cmd.exe 单独设置窗口的属性就把注册表的键HKEY_CURRENT_USER\Console\%SystemRoot%_system32_cmd.exe 删除了事。
[cmd]如何设置 Windows 默认命令行窗口大小和缓冲区大小的更多相关文章
- 如何设置 Windows 默认命令行窗口大小和缓冲区大小
关键字: 命令行不能全屏 命令行最大化只有一半屏幕 命令行 字体 背景 颜色 解决方案:http://unmi.cc/save-windows-command-size/ 简要说明: win+r,输入 ...
- windows更改命令行cmd的字体为conlosas+微软雅黑
windows更改命令行cmd的字体为conlosas+微软雅黑 动力来源于对美孜孜不倦的追求~ 下载conlosas+微软雅黑字体 谢谢支持. 将解压后的YaHei.Consolas.1.12.tt ...
- windows下命令行模式中cd命令无效的原因
当我们执行cmd 想切换当前工作目录时,会发现windows下命令行模式中cd命令没有生效,到底是什么原因呢? 例如: 当我们想切换到 D:\MySql\mysql-5.7.19-winx64\bin ...
- Ubuntu18.04 设置开机进入命令行模式
首先来了解下启动级别(Runlevel): 指 Unix 或 类 Unix 操作系统下不同的运行模式,运行级别通常分为 7 级: 运行级别 0:系统停机状态,系统默认运行级别不能设为0,否则不能正常启 ...
- Windows的命令行怎么支持通配符
摸索出一个小技巧,虽然Windows的命令行本身不支持通配符,但可以在脚本里把传进来的参数当通配符用 只要加上@ARGV = glob "@ARGV";就行了 @ARGV = gl ...
- Windows 通过命令行设置固定ip地址
Winserver1709 之后 windows系统取消了GUI界面 设置ip地址 需要使用命令行界面进行 这里简单记录一下 打开win1709的虚拟机 进入命令行控制台 输入 ipconfig 查看 ...
- windows下命令行设置静态IP
windows 10 预览版出现无法设置静态IP的bug,只能通过命令行进行设置,开启powershell,然后执行下列的命令即可 下面的"以太网 3" 为你设置的网卡的网卡名称, ...
- Ubuntu12.10 设置默认命令行启动
在虚拟机当中安装ubuntu12.10的时候默认把图形界面给装上了,由于不需要使用桌面,所以为了省去每次进入到图形界面然后再用ctrl+F1的方式切换到命令行的步骤,希望能够默认进入的是命令行模式,那 ...
- 【备忘】Windows的命令行下设置网络代理
在公司访问网络的时候,需要设置代理,设置浏览器的代理是相当的方便了.但有的时候要使用命令行,就需要自己设置了(貌似只要浏览器设置好了,可以直接使用命令行,但我们公司的借,需要有用户名和密码,如果没有使 ...
随机推荐
- oracleXE数据库没有公开wm_concat函数, 需要手动添加
CREATE OR REPLACE TYPE wm_concat_impl AUTHID CURRENT_USER AS OBJECT ( curr_str ), STATIC FUNCTION od ...
- centos 7 下 TFTP服务器安装
一.介绍 TFTP(Trivial File Transfer Protocol,简单文件传输协议)),是一个基于UDP 协议 69端口 实现的用于在客户机和服务器之间进行简单文件传输的协议提供不复杂 ...
- DialogFragment 对话框 碎片
package com.example.m_evolution; import android.app.Dialog; import android.app.DialogFragment; impor ...
- Git 分支 - 分支管理
1 查看每一个分支 git branch 2 查看每一个分支的最后一次提交 git branch -v 3 创建分支 (1)只创建本地分支:git branch <branchname> ...
- TZOJ 4871 文化之旅(floyd预处理+dfs剪枝)
描述 有一位使者要游历各国,他每到一个国家,都能学到一种文化,但他不愿意学习任何一种文化超过一次,即如果他学习了某种文化,则他就不能到达其他有这种文化的国家.不同的国家可能有相同的文化.不同文化的国家 ...
- #define宏重定义
#define A 1 在同一个工程的另外一个文件里又定义了#define A 2 并不会报错(2010vs) 亲测可用 但是最后该宏变量A的值 ,应该是预处理-----顺序处理------最后一个运 ...
- swift - xcode10 - 点击事件交互BUG - (手势和button的addTarget方法)
1. 现象button 点击闪退:没有任何原因 ,在听云检测上,显示 BUG2: 手势 没有任何作用,哪怕设置 isUserInteractionEnabled 和isEnabled 为true 都 ...
- 微信小程序之 ----API接口
1. wx.request 接口 可在文件 wxs中操作,连接服务器处理数据 参数 ① url ② data ③ header ④ method ⑤ dataType 回调 ...
- stark组件开发之URL分发和默认Handler
为register 函数添加一个,prev参数,默认None ,用于可以让用户自己指定前缀. def register(self, model_class, handler_class=None, p ...
- CSS 图片居中
} .left-logo a { height: 100px; width: 55px; display: block; } .left-logo a img{ height: ; width: 55 ...