2016年12月15日

【PowerShell】コマンド履歴からコマンドを実行する



コマンド履歴からコマンドを実行するには、Invoke-Historyを使用します。

構文
Invoke-History [[-Id] <コマンドID>]


直前のコマンドを実行する

コマンド履歴の中から直前のコマンドを実行するには、単にInvoke-Historyと実行します。
PS C:\work> Invoke-History

ちなみにこのInvoke-Historyは履歴には残りません。


IDを指定して実行する

たとえばいま履歴がこのようになっていたとします。
PS C:\work> Get-History

  Id CommandLine
  -- -----------
   1 cd c:\work
   2 dir
   3 Start-Process -FilePath "notepad.exe"
   4 Get-Help Copy-Item

ここで、Id=3のコマンドを実行させるには次のようにします。

PS C:\work> Invoke-History -Id 3
Start-Process -FilePath "notepad.exe"


<関連記事>
【PowerShell】コマンド履歴に追加する
【PowerShell】コマンド履歴をクリアする
【PowerShell】入力されたコマンドの履歴を取得する
【PowerShell】コマンドの実行時間を計測する
【PowerShell】指定した期間動作を一時停止する


スポンサーリンク