如何設定Windows預設命令列視窗大小和緩衝區大小

來源:互聯網
上載者:User

   如何設定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 刪除了事。

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.