Add-History コマンドレットの使用

以前に保存した Windows PowerShell 履歴の復元

Windows PowerShell で作業していて、便利なタスクを実行するコマンド群を入力しました。このコマンド群は Windows PowerShell 履歴に保存されますが、帰宅する時間になりました。ご存じのように、Windows PowerShell コンソールを終了した瞬間に履歴は消去されます。つまり、次に同じタスクを実行したい場合でも、すべてのコマンドを思い出して再入力する必要があります。

そのようなことはしますか。たとえば、仮に Windows PowerShell を終了する前に、次のコマンドを使用して履歴を C:\Scripts\My_History.xml という XML ファイルに保存するとします。

Get-History | Export-Clixml "c:\scripts\my_history.xml"

わざわざ Windows PowerShell 履歴を保存するのはなぜでしょうか。その理由は次のとおりです。次に Windows PowerShell を起動したときに、Import-Clixml コマンドレットを使用してその XML ファイルを再読み込みすることができるためです。再読み込み後は、そのファイルのコンテンツを Add-History コマンドレットに渡すことができます。驚くことに、この時点で古い履歴 (My_History.xml に保存されているコマンド群) は現在の履歴に復元されます。この処理を行うコマンドは次のようになります。

Import-Clixml "c:\scripts\my_history.xml" | Add-History

この処理については、処理前と処理後の画像があるとわかりやすいでしょう。たとえば、Windows PowerShell セッションを実行し、終了時に履歴ファイルをエクスポートしたとします。次に、新規の Windows PowerShell セッションを開始しました。何も実行していないため、履歴は空です。

Windows PowerShell

次に保存した履歴ファイルをインポートして、Add-History コマンドレットを呼び出します。Windows PowerShell 履歴を確認してみましょう。

Windows PowerShell

自分専用のタイム マシンを持つことの次によい策ではありませんか。

関連リンク