PowerShell 無法垂直捲動?修復回滾問題

如果 PowerShell 無法垂直捲動,請變更承載該 shell 的應用程式中的捲軸設定。在經典 Windows PowerShell 控制台中,增加螢幕緩衝區高度。在 Windows Terminal 中,增加設定檔的歷史記錄大小。這些設定會保留輸出行;而 PowerShell 的命令歷史記錄則不會。如果較舊的行已被丟棄,請重新運行命令或在再次運行之前捕獲命令記錄。

首先,確定哪些內容沒有滾動。

PowerShell 會將輸出傳送到主機,例如經典的控制台主機、Windows 終端機、Visual Studio Code 的整合終端機或 PowerShell ISE。主機控制螢幕上方可見的輸出行數。如果命令輸出的行數少於視窗所能容納的行數,則無需捲動即可查看任何內容。

使用一條輸出 100 行的無害指令進行測試:

1..100 | ForEach-Object { "Line $_" }

完成後,點擊控制台,按 Esc 鍵清除所有文字選擇,然後嘗試使用滑鼠滾輪或捲軸。如果可以捲動測試輸出,但較早的行很快就消失,請增加下方的捲軸設定。如果滾輪沒有任何反應,請確保正確的終端窗格處於啟動狀態,並按照您正在使用的應用程式的說明進行操作。

修復經典 Windows PowerShell 控制台

以下步驟適用於單獨開啟的 Windows PowerShell 窗口,而不是 Windows 終端機內的 PowerShell 標籤:

  1. 開啟 Windows PowerShell 並執行上述測試命令。
  2. 右鍵點選視窗標題欄,然後選擇“屬性”。
  3. 開啟「版面配置」選項卡,找到「螢幕緩衝區大小」。
  4. 增加高度。例如,嘗試3000行,然後選擇“確定”。
  5. 再次執行測試並向上捲動以查看其輸出結果。
在「版面配置」標籤上,開啟經典的 Windows PowerShell 屬性對話框,並將「螢幕緩衝區大小高度」設為 3000 行。
經典控制台的「高度」設定控制可見視窗上方保留的行數。

高度指的是控制台緩衝區中已儲存的行數,而不是視窗的可見高度。值越大,可回傳的輸出越多。如果您的命令會產生大量輸出,並且設定允許,請選擇更高的值。控制台無法傳回已移出緩衝區的行。微軟在其Windows 控制台文件中描述了控制台視窗如何顯示和捲動螢幕緩衝區。

在 Windows 終端機中增加滾動回退

如果 PowerShell 運行在 Windows 終端機中,則經典控制台的「屬性」對話方塊並非您需要的設定。終端會為每個設定檔保留自己的滾動回溯設定:

  1. 開啟Windows終端設定。
  2. 選擇您實際使用的設定文件,例如Windows PowerShell,然後開啟「進階」。
  3. 增加歷史記錄大小並儲存設定。嘗試20000行;微軟文件中預設值為9001行,最大值為32767 行。
Windows PowerShell 設定檔的 Windows Terminal 進階設置,歷史記錄大小設定為 20000 行。
終端歷史記錄大小設定目前視圖上方保留的行數。

此值控制終端機在目前視圖上方保留的行數。它屬於所選配置文件,因此如果您在 Windows PowerShell 和 PowerShell 7 之間切換,您也需要更改另一個設定檔。有關此屬性的詳細信息,請參閱 Microsoft 的Windows 終端高級設定檔設定。

一次讀取一頁長輸出

當命令傳回大量結果,而您希望按順序閱讀它們時,分頁功能非常有用。它不會改變滾動限制。Out-Host -Paging例如,將命令透過管道傳遞給 `<script>`:

Get-Process | Out-Host -Paging
PowerShell 透過 Out-Host -Paging 顯示 Get-Process 輸出,支援空白鍵、回車鍵和 Q 控制鍵。
空白鍵前進一頁,回車鍵前進一行,Q鍵退出分頁。

按空白鍵翻到下一頁,按 Enter 鍵換行,按Q 鍵停止翻頁。 PowerShell -PagingISE 主機不支援此參數。 Microsoft 在Windows PowerShell 5.1 Out-Host 參考文件中記錄了此行為和相關按鍵。

將輸出結果儲存到轉錄本中

執行命令後,或控制台關閉後,會產生一個文字檔案供您查閱,該檔案稱為「記錄」。請在運行命令之前啟動它:

Start-Transcript
一段純文字 PowerShell 腳本摘錄,顯示了 Start-Transcript、Get-Process 輸出和 Stop-Transcript。
轉錄程式會記錄命令和控制台輸出,直到執行 Stop-Transcript 為止。

在 Windows 系統中,PowerShell 會將預設的轉錄檔案保存在「文件」資料夾中,並在開始錄製時報告檔案路徑。錄製完成後,執行以下命令:

Stop-Transcript

記錄檔案包含輸入的命令和控制台中顯示的輸出,因此請將其視為純文字記錄,其中可能包含敏感資訊。共享文件前請務必仔細檢查。 Microsoft 在Start-Transcript 參考文件中記錄了預設位置和記錄行為,並解釋如何使用Stop-Transcript停止記錄。

不要將回滾功能與命令歷史記錄混淆。

更改此設定$MaximumHistoryCount不會使 PowerShell 的輸出滾動得更遠。此首選項變數限制了內建會話歷史記錄工具可以檢索的命令數量;它不計算終端中顯示的輸出行數。 PowerShell 還有一個由 PSReadLine 管理的獨立歷史記錄。 Microsoft 的about_History 參考文件解釋了其中的差異。

如果仍然無法滾動,請確認哪個應用程式運行 shell,應用該應用程式的滾動設置,然後重新執行一個能產生足夠輸出以進行測試的命令。增加後續行的緩衝區大小;需要永久記錄時,請使用轉錄功能。

留下評論

使用 FotoSketcher 將照片轉換為繪畫、素描和卡通

使用 FotoSketcher 將照片轉換為繪畫、素描和卡通

使用 FotoSketcher Studio 將照片轉換成繪畫、鉛筆素描或卡通。學習如何選擇效果、調整預覽、保存作品。

使用音訊標識符詳細分析和識別音訊文件

使用音訊標識符詳細分析和識別音訊文件

了解音訊標識符揭示的位元率、編碼器和標籤訊息,其傳統工作流程如何運作,以及當前哪些工具可以檢查文件或識別歌曲。

我的照片索引:一款適用於 Windows 的開源照片管理器。

我的照片索引:一款適用於 Windows 的開源照片管理器。

My Photo Index 是一款舊版 Windows 相片目錄管理工具,用於標記、評分和瀏覽本機影像。請查看其文件功能、相容性限制以及一個維護良好的替代方案。

使用屬性變更器變更檔案和資料夾屬性、日期和時間

使用屬性變更器變更檔案和資料夾屬性、日期和時間

學習如何使用屬性變更器安全地編輯 Windows 檔案屬性和時間戳記、更新 JPEG EXIF 照片日期以及預覽批次變更。

如何在 Windows 10 中為每個顯示器設定不同的桌布

如何在 Windows 10 中為每個顯示器設定不同的桌布

為每個 Windows 10 顯示器設定單獨的壁紙,識別顯示器,調整影像適應度,並解決缺少顯示器選擇的問題。

pViewer:一款極簡圖像檢視器和漫畫閱讀器

pViewer:一款極簡圖像檢視器和漫畫閱讀器

了解 pViewer 的功能、照片和漫畫模式的工作原理、應該下載哪個 Windows 版本,以及舊版和重寫版之間的差異。

如何在 Windows 7 和 8 中使用快速鍵切換到下一個桌面背景

如何在 Windows 7 和 8 中使用快速鍵切換到下一個桌面背景

設定 Windows 7 或 8 投影片放映,建立一個小型 VBScript 快捷方式,並指派鍵盤熱鍵來切換到下一張桌布。

NeoDownloader:設定參數並從網站批量下載圖片

NeoDownloader:設定參數並從網站批量下載圖片

學習如何建立 NeoDownloader 專案、選擇爬取範圍、設定映像過濾器和目標位置,以及查看批次下載。

XnConvert:批次應用特效和轉換影像格式

XnConvert:批次應用特效和轉換影像格式

使用 XnConvert 可以批次套用特效、調整照片大小和轉換影像格式。選擇輸出設定、預覽編輯效果並保護您的原始文件。

使用 ManicTime 追蹤工作時間和電腦使用情況

使用 ManicTime 追蹤工作時間和電腦使用情況

了解 ManicTime 如何追蹤應用程式使用情況、活躍時間和空閒時間以及文檔,然後將您的活動歷史記錄轉換為專案標籤和時間表。