about_History
簡短描述
描述如何在命令歷程記錄中取得和執行命令。
詳細描述
當您在命令提示字元中輸入命令時,PowerShell 會將命令儲存在命令歷程記錄中。 您可以使用歷程記錄中的命令作為工作記錄。 而且,您可以從命令歷程記錄中重新叫用並執行命令。
PowerShell 有兩個不同的歷程記錄提供者:內建歷程記錄和 PSReadLine 模組所管理的歷程記錄。 歷程記錄會分開管理,但在載入 PSReadLine 的會話中可以使用這兩個歷程記錄。
使用 PSReadLine 歷程記錄
PSReadLine 歷程記錄會追蹤所有 PowerShell 會話中使用的命令。
記錄會寫入每個主機的中央檔案。 該歷程記錄檔可供所有會話使用,並包含所有過去的歷程記錄。 工作階段結束時不會刪除歷程記錄。 此外,該歷程記錄無法由 *-History
Cmdlet 管理。 如需詳細資訊,請參閱 about_PSReadLine。
使用內建會話歷程記錄
內建歷程記錄只會追蹤目前會話中使用的命令。 記錄無法供其他會話使用,而且會在會話結束時刪除。
記錄 Cmdlet
PowerShell 有一組可管理命令歷程記錄的 Cmdlet。
指令程式 | Alias | 描述 |
---|---|---|
Get-History |
h |
取得命令歷程記錄。 |
Invoke-History |
r |
在命令歷程記錄中執行命令。 |
Add-History |
將命令新增至命令歷程記錄。 | |
Clear-History |
clhy |
從命令歷程記錄中刪除命令。 |
管理歷程記錄的鍵盤快捷方式
在 PowerShell 控制台中,您可以使用下列快捷方式來管理命令歷程記錄。
- UpArrow - 顯示上一個命令。
- DownArrow - 顯示下一個命令。
- F7 - 顯示命令歷程記錄。
- ESC - 隱藏歷程記錄。
- F8 - 尋找命令。 輸入一或多個字元,然後按 F8。 再次按 F8 下一個實例。
- F9 - 依歷程記錄標識碼尋找命令。 輸入歷程記錄標識碼,然後按 F9。 按 F7 尋找識別碼。
- #
<string>
索引 標籤 - 搜尋歷程記錄*<string>*
,並傳回最新的相符專案。 如果您重複按 Tab 鍵,它會迴圈查看歷程記錄中的相符專案。
注意
這些金鑰系結是由主機應用程式實作。 其他應用程式,例如 Visual Studio Code 或 Windows 終端機,可以有不同的索引鍵系結。 PSReadLine 模組可以覆寫系結。 當您啟動PowerShell工作階段時,PSReadLine 會自動載入。 載入 PSReadLine 時, F7 和 F9 不會系結至任何函式。 PSReadLine 不提供對等的功能。 如需詳細資訊,請參閱 about_PSReadLine。
MaximumHistoryCount
喜好 $MaximumHistoryCount
設定變數會決定 PowerShell 儲存在命令歷程記錄中的命令數目上限。 預設值為 4096。
例如,下列命令會將 $MaximumHistoryCount
降低為100個命令:
$MaximumHistoryCount = 100
若要套用設定,請重新啟動PowerShell。
若要儲存所有 PowerShell 工作階段的新變數值,請將指派語句新增至 PowerShell 配置檔。 如需配置檔的詳細資訊,請參閱 about_Profiles。
如需喜好設定變數的詳細資訊 $MaximumHistoryCount
,請參閱 about_Preference_Variables。
歷程記錄中的命令順序
命令會在命令完成執行時新增至歷程記錄,而不是輸入命令時。 如果命令需要一些時間才能完成,或命令是在巢狀提示字元中執行,則命令在歷程記錄中可能順序不一。 只有在結束提示層級時,才會完成在巢狀提示字元中執行的命令。