如何在 Windows 11/10 上查看 PowerShell 命令歷史記錄

Windows PowerShell有一個內置的歷史記住您在使用時執行的所有命令的功能。雖然它應該記住活動會話的歷史記錄,但我發現它保留的不僅僅是這些。在這篇文章中,我將向您展示如何查看 PowerShell 命令歷史記錄並巧妙地使用它。

具有歷史記錄功能的最顯著的優點是您不必再次鍵入來執行已經執行過一次的特定命令。然而,遞歸數百個命令並沒有多大幫助。搜索它們或運行您只記得部分的特定命令怎麼樣?請遵循這些方法。

  1. 鍵盤方式
  2. 在 PowerShell 歷史記錄中向前或向後搜索
  3. 查看本次會議的全部歷史記錄
  4. 從 PowerShell 命令歷史記錄中調用特定命令
  5. 在歷史記錄中搜索

最後,我們還解釋瞭如何清算、導出和導入歷史。如果您需要經常執行相同的命令,這非常方便。

1]鍵盤法

如果您使用 Windows 一段時間,我相信您已經使用過命令提示符一次。如果使用向上和向下箭頭鍵,則可以前後移動已執行的命令。這同樣適用於 PowerShell。但這是一個轉折點。如果您只記得部分命令,請按以下方法進行搜索。

  • 輸入您記得的命令的一部分
  • 按F8,一直按直到找到。
  • 搜索詞將以熒光綠色突出顯示,然後是命令的其餘部分。

唯一的缺點是搜索詞必須是命令的開頭。

2]在歷史記錄中向前或向後搜索

如果您想在歷史記錄中向前或向後搜索,則可以使用 Ctrl + R 和 Ctrl + S。前者可讓您在歷史記錄中向後搜索,而後者可向前搜索。一旦您使用鍵盤快捷鍵,您應該會在底部看到一個片段(bck-i-search 或 fwd-i-search)。輸入您想要搜索的內容,即使文本屬於命令中間的某個位置,它也會搜索它。與我們上面使用的F8方法相比要好得多。

3]查看本次會話的整個PowerShell命令歷史記錄

輸入歷史記錄,然後按 Enter 鍵。您應該能夠看到在當前會話中執行的所有命令。雖然您可以使用箭頭鍵查看先前會話中執行的命令,但歷史記錄中不會有它。如果您按鍵“H”然後按回車鍵,它會顯示命令的歷史記錄。將其視為“歷史記錄”命令的快捷方式。

4]從PowerShell命令歷史記錄中調用特定命令

如果您注意到,上圖中每個命令旁邊都有一個 ID。如果你想執行列表中的一個特定命令,你需要使用調用歷史記錄。

  • 記下要執行的命令的 ID
  • 類型調用歷史記錄<ID>。代替<ID>與確切的數字
  • 按 Enter 鍵,它將執行歷史記錄中的命令。

5]在歷史中搜索

在命令歷史記錄中搜索的最簡單方法是使用歷史記錄輸出上的 Select-String 方法。

  • 鍵入以下內容,並將 Get 替換為您要搜索的術語
  • 獲取歷史記錄 |選擇字符串-模式“獲取”。
  • 它將顯示與搜索命令匹配的所有命令。

由於您獲得了 id,因此可以使用“調用歷史記錄”命令立即執行它。

清除、導出和導入 PowerShell 歷史記錄

要從歷史記錄中刪除所有命令,您所需要做的就是執行命令“清除歷史記錄”。請注意,即使執行此操作後,您仍然可以使用向上和向下箭頭鍵訪問該命令。

導出所有命令,您可以使用導出-Clixml 或導出-CSV格式。這是示例命令

Get-History | Export-Clixml "Path\PSHistorycommands.xml"

Get-History | Export-Csv "Path\PSHistorycommands.csv"

在上面的示例命令中,Path 表示要保存包含 PowerShell 命令歷史記錄的文件的目錄的完整路徑,PSHistorycommands 表示文件的名稱。

例如,如果您想將 PowerShell 歷史記錄保存為名稱為“PowerShell 命令歷史記錄”的位置“D:\The Windows Club\New 文件夾,”該命令將是:

Get-History | Export-Clixml "D:\The Windows Club\New folder\PowerShell Command History.xml"
Get-History | Export-Clixml "D:\The Windows Club\New folder\PowerShell Command History.csv"

不要刪除上述命令中的退出。否則,您將收到錯誤消息。

將這些命令導入回另一個或新會話,使用以下命令。

Add-History -InputObject (Import-Clixml "Path\PSHistorycommands.xml")

Add-History -InputObject (Import-Csv "Path\PSHistorycommands.csv")

您可以隨時打開此 CSV 或 XML 文件,立即查看 PowerShell 命令歷史記錄。這幾乎概括了 PowerShell 命令歷史記錄的幾乎所有內容,以及如何使用數字或通過搜索它們或在第二天將它們導入回來來重用它們。

就是這樣。我希望這有幫助。

如何將 PowerShell 歷史記錄保存到文件中?

您可以通過以不同格式導出來將 PowerShell 歷史記錄保存到文件中。 PowerShell 歷史記錄可以以 CSV 和 XML 文件格式導出。您需要執行所需的命令將 PowerShell 歷史記錄導出到文件。

PowerShell 是否保存命令歷史記錄?

是的,PowerShell 會自動將命令歷史記錄保存在文本文件中。該文件位於以下位置:

C:\Users\username\AppData\Roaming\Microsoft\Windows\PowerShell\PSReadLine

在上面的命令中,將用戶名替換為您的用戶名。您可以在記事本或任何其他文本編輯器軟件中打開此文件。

閱讀下一篇:。