用命令行設置 Windows 命令行窗口大小和緩衝區大小

背景:使用命令行來修改windows 命令行窗口了的大小和屏幕緩衝區的大小(寬度和高度)

方法:方法是改註冊表。

先來看下你可以在命令行下直接指定命令行窗口的大小了,進到命令行執行 mode,可以看到關於控制檯的信息如下:

設備狀態 CON:
---------
    行:        300
    列:       80
    鍵盤速度:   31
    鍵盤延遲:  1
    代碼頁:     936

這是我的默認的控制檯的大小是 300 * 80,查看 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\WindowSize 
屏幕緩衝區大小:     HKEY_CURRENT_USER\Console\ScreenBufferSize  
     

這是用的十六進制值來表示的,十六進制的前四位是高,後四位是寬(高*寬),如:

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

07d00078      0078 的十進制是 120, 07d0 的十進制是 2000, 緩衝區大小就是  2000*120


註冊表裏會幫你在 HKEY_CURRENT_USER\Console\ 下創建有你的兩個鍵值 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 /f

reg add "HKEY_CURRENT_USER\Console" /t REG_DWORD /v ScreenBufferSize /d 0x07d00078 /f


參考:http://unmi.cc/save-windows-command-size/, 來自 隔葉黃鶯 Unmi Blog


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章