8
7

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 3 years have passed since last update.

Windowsでも$historyがしたい!~コマンド履歴を確認するには~

Last updated at Posted at 2021-03-15

はじめに

Linuxではhistoryコマンドを使うことで、過去に使用したコマンドを表示することができます。
Windowsで同じことを実現するにはどうしたらよいのか?ということを書いたのが、この記事です。

PowerShell, CMD(コマンドプロンプト)の2パターンで記述します。

結論として一番伝えたいこと

PowerShellで、これを打てばよい
type (Get-PSReadlineOption).HistorySavePath -Tail 20

PowerShell

PowerShellにおいて、同一セッション内で使用した履歴を参照したい

Get-History、あるいはhで参照できます。
セッション内の履歴なので、PowerShellを終了する(ウィンドウを消す)とその履歴は消えます。

「あのときに使ったコマンドなんだったっけ..」という場合には、残念ながら使えません。
その場合は次項の方法を試してください。

PowerShellにおいて、過去に使用したコマンドすべてを参照したい

(Get-PSReadlineOption).HistorySavePathというコマンドをPowerShellで実行することにより、履歴が保存されたテキストファイルのパスを表示できます。

CLIでの履歴表示にこだわる場合は、次のような操作でそれを実現できます。
Linuxのcat(ファイルの中身を表示する)に相当するtypeコマンドと、パスを表示する上記のコマンドを併用することで、コンソール上で履歴を表示できます。
type (Get-PSReadlineOption).HistorySavePath

しかし、このままだと大量のログが吐き出されかねないので、最後の数行だけ表示するよう、Tailコマンドを使って加工する方法も紹介します。
ここでは20行を表示することにします。

type (Get-PSReadlineOption).HistorySavePath -Tail 20

CMD(コマンドプロンプト)で履歴を参照したい

同一セッション内の履歴を参照する方法は見つかりましたが、それ以前に実行したコマンドを参照する方法を見つけることはできませんでした。

同一セッションであれば、doskey /historyを実行することで履歴を表示できます。

参考

8
7
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
8
7

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?