Windows Server 中 Windows 控制台的變更

從 Windows Server 2016 開始,控制台主機(支援所有字元模式應用程式的基礎程序代碼,包括 Windows 命令提示字元、Windows PowerShell 提示字元等)已透過數種方式更新,以新增各種新功能。

控制新功能

預設會啟用新功能,但您可以透過 [屬性] 介面(主要在 [選項] 索引標籤)來啟用或停用每個新功能,或使用這些登錄機碼來還原至先前的控制台主機(所有機碼均為 HKEY_CURRENT_USER\Console 下的 DWORD 值):

登錄鍵 Description
ForceV2 1 會啟用所有新的控制台功能;0 會停用所有新功能。 注意:此值不會儲存在快捷方式中,而只會儲存在此登錄機碼中。
LineSelection 1 啟用行選取;0 僅使用區塊模式
FilterOnPaste 1 啟用新的貼上行為
LineWrap 當您調整主控台視窗大小時,1 會換行文字
CtrlKeyShortcutsDisabled 0 啟用新的按鍵快捷方式;1 會停用它們
ExtendedEdit 金鑰 1 啟用一整組的鍵盤選取鍵;0 停用一整組的鍵盤選取鍵
TrimLeadingZeros 在透過雙擊選取段落中,選擇 1 會去除前置零;選擇 0 會保留前置零。
WindowsAlpha 設定介於 30% 與 100%之間的不透明度值。 請使用 0x4C 到 0xFF 或 76 到 255 來指定值。
WordDelimiters 使用 CTRL+SHIFT+ARROW 一次選取整字時,定義用來跳到的字元(預設值為空格符)。 將此REG_SZ值設定為包含您想要視為分隔符的所有字元。 注意:此值不會儲存在快捷方式中,而只會儲存在此登錄機碼中。

這些設定會根據每個視窗標題儲存在 HKCU\Console 下的登錄中。 由快捷方式開啟的主控台視窗,會將這些設定儲存在快捷方式中;如果快捷方式複製到另一部計算機,設定會將它移至新計算機。 快捷方式中的設定會覆寫所有其他設定,包括全域設定和預設值。 不過,如果您使用 [選項] 索引標籤中的 [使用舊版主控台] 還原為原始控制台,則此設定是全域的,之後會保留所有視窗,包括重新啟動計算機之後。

您可以通過適當配置登錄,使用 Unattend 檔案或 Windows PowerShell 預先設定或使用腳本配置這些設定。

16 位 NTVDM 應用程式始終回復到舊版的控制台主機。

Note

如果您遇到新控制台設定的問題,且無法使用此處所列的任何特定選項加以解決,您可以將 ForceV2 設定為 0 或選項中的使用舊版控制台控件來還原為原始控制台。

控制台行為

您現在可以使用滑鼠抓取邊緣,並拖曳它,來調整主控台視窗的大小。 只有在手動設定視窗維度時(透過 屬性 中的 版面配置 索引標籤)或當緩衝區中最長的文字行比目前的視窗大小還要寬時,才會顯示滾動條。

新的主控台視窗現在支援自動換行。 不過,如果您使用主控台 API 來變更緩衝區中的文字,主控台會保留原本插入的文字。

控制台視窗現在可以是半透明(最低透明度為 30%)。 您可以從 [屬性] 選單或使用下列鍵盤命令來調整透明度:

要達成此目的: 使用此按鍵組合:
提高透明度 CTRL+SHIFT+Plus (+) 或 CTRL+SHIFT+滑鼠向上捲動
降低透明度 CTRL+SHIFT+減號 (-) 或 CTRL+SHIFT+滑鼠向下捲動
切換全螢幕模式 ALT+ENTER

Selection

有許多新選項可用來選取文字和行,以及標記文字和使用緩衝區歷程記錄。 主控台會嘗試避免與可能使用相同的金鑰的應用程式發生衝突。

給開發人員

如果發生衝突,您通常可以使用 SetConsoleMode() API 來控制應用程式使用線路輸入、處理輸入和回應輸入模式的行為。 如果您在已處理的輸入模式中執行,下列快捷方式會套用,但在其他模式中,您的應用程式必須處理它們。 此處未列出的任何按鍵組合會像先前版本的控制台一樣運作。 您也可以嘗試解決 [ 選項 ] 索引標籤上各種設定的衝突。如果所有其他作業都失敗,您一律可以還原為原始控制台。

您現在可以在 QuickEdit 模式之外使用點選和拖曳選取範圍,而且此選取範圍可以選取跨行文字,如同記事本一樣,而不是僅限於矩形區塊。 複製作業不再需要您移除換行符。 除了點選和拖曳選取範圍之外,還有這些按鍵組合可供使用:

文字選取

要達成此目的: 使用此按鍵組合:
將游標移至左一個字元,並擴充選取範圍 SHIFT+左箭頭
將游標移至右邊一個字元,並擴充選取範圍 SHIFT+向右鍵
從插入點逐行選取文字 SHIFT+向上鍵
將文字選取範圍從插入點向下延伸一行 SHIFT+向下箭頭鍵
如果游標位於目前正在編輯的行中,請使用此命令一次,將選取範圍延伸至輸入行的最後一個字元。 第二次使用它,將選取範圍延伸至右邊界。 SHIFT+END
如果游標 不在 目前正在編輯的行中,請使用此命令從插入點到右邊界選取所有文字。 SHIFT+END
如果游標在目前正在編輯的行中,請使用此命令一次,將選取範圍延伸至命令提示字元之後的字元。 第二次使用它,將選取範圍延伸至右邊界。 SHIFT+HOME
如果游標 不在 目前正在編輯的行中,請使用此命令將選取範圍延伸至左邊界。 SHIFT+HOME
將選取範圍向下延伸一個畫面 SHIFT+下頁鍵
將選取範圍向上延伸一個畫面 SHIFT+上頁鍵
將選取範圍延伸至右邊的一個字。 (您可以使用 WordDelimiters 登錄機碼來定義單字的分隔符號。 CTRL+SHIFT+向右方向鍵
將選取範圍向左延伸一個單字 CTRL+SHIFT+HOME
將選取範圍延伸至螢幕緩衝區的開頭 CTRL+SHIFT+END
如果游標位於目前行且該行不是空的,則從提示字元之後選取所有文字。 CTRL+A
如果游標 不在 目前行中,請選取整個緩衝區 CTRL+A

編輯文字

您可以使用鍵盤命令在控制台中複製並貼上文字。 CTRL+C 現在具備兩種功能。 如果在您使用時未選取任何文字,它會如往常一樣傳送 BREAK 命令。 如果文字被選取,第一次使用會複製文字並清除選取範圍;第二次使用會傳送BREAK。 以下是其他編輯命令:

要達成此目的: 使用此按鍵組合:
將文字貼到命令行 CTRL+V
將選取的文字複製到剪貼簿 CTRL+INS
將選取的文字複製到剪貼簿;send BREAK CTRL+C
將文字貼到命令行 SHIFT+INS

標記模式

若要隨時進入標記模式,請以滑鼠右鍵按下主控台標題列中的任意位置,指向 [ 編輯],然後從開啟的功能表中選取 [ 標記 ]。 您也可以輸入 CTRL+M。 在標記模式中,使用 ALT 鍵來識別換行段落選取範圍的起始位置。 如果停用 啟用換行選取,標記模式會逐區塊選取文字。在標記模式中,CTRL+SHIFT+ARROW 會依字元選取,而不是像正常模式那樣按文字選取。 除了 [編輯文字 ] 區段中的選取鍵之外,這些組合也可在標記模式中使用:

要達成此目的: 使用此按鍵組合:
輸入標記模式以在視窗中移動游標 CTRL+M
在標記模式中開始換行選取範圍,搭配其他按鍵組合使用 ALT
在指定的方向移動游標 箭頭鍵
依指定方向將游標移動一頁 PAGE 鍵
將游標移至緩衝區的開頭 CTRL+HOME
將游標移至緩衝區結尾 CTRL+END
要達成此目的: 使用此按鍵組合:
在輸出歷程記錄中向上移動一行 CTRL+上箭頭
在輸出歷程記錄中向下移動一行 CTRL+向下鍵
將檢視區移至緩衝區頂端(如果命令列空白),或刪除游標左邊的所有字元(如果命令行不是空的) CTRL+HOME
將檢視區移至命令列(如果命令列是空的),或刪除游標右邊的所有字元(如果命令行不是空的) CTRL+END

其他鍵盤命令

要達成此目的: 使用此按鍵組合:
開啟 [尋找] 對話框 CTRL+F
關閉主控台視窗 ALT+F4