设置cmd.exe宽高后如何恢复垂直滚动功能?
实现CMD自定义窗口大小并保留垂直滚动
要同时实现200列宽、100行窗口高度,且保留垂直滚动能力,核心是区分窗口可见高度和屏幕缓冲区高度:只有当缓冲区高度大于窗口高度时,才会出现垂直滚动条。
方法一:使用MODE命令分两步设置
这是最简便的原生CMD解决方案,无需修改注册表:
- 先设置屏幕缓冲区的宽度和高度(缓冲区高度设为远大于窗口高度的值,比如999,确保有足够的滚动空间):
MODE con: cols=200 lines=999 - 再调整窗口的可见高度为100行(此时缓冲区高度保持999,窗口高度缩小到100,自然生成垂直滚动条):
执行完这两条命令后,CMD窗口就会是200列宽、100行高,长文本内容可以通过滚动条完整查看。MODE con: lines=100
方法二:通过注册表临时配置(适合固定场景)
如果希望每次启动该批处理都自动应用配置,可以修改当前用户的CMD控制台注册表设置:
- 设置屏幕缓冲区参数:宽度200(十六进制
0xC8)、高度999(十六进制0x3E7),组合成ScreenBufferSize的DWORD值:REG ADD HKCU\Console /v ScreenBufferSize /t REG_DWORD /d 0x0003E700C8 /f - 设置窗口尺寸参数:宽度200、高度100,组合成
WindowSize的DWORD值:REG ADD HKCU\Console /v WindowSize /t REG_DWORD /d 0x0000006400C8 /f - 执行命令后,通过
start "" cmd.exe /k your_script.bat启动新CMD窗口即可生效。若要避免影响全局CMD,可在脚本结束前备份并恢复原注册表值。
内容的提问来源于stack exchange,提问作者doejoe
相关产品推荐
相关产品推荐

