Is there an auditable file on a Windows machine that shows the command-line history for either cmd or PowerShell? On UNIX machines I believe there is a hidden file in the home directory called .history.
Asked
Active
Viewed 1.0k times
6
-
Note that the hidden file _does not_ contain the _current_ history. That's only in memory, as well. This is why `history` has to be a built-in command. – JdeBP Jan 31 '12 at 14:03
2 Answers
7
For plain old cmd
, no there really isn't anything like that.
Even under PowerShell, I believe the history is still limited to the lifetime of the PowerShell session, though it gives you the functionality to work with and export the history, and even load it. You can use that to create some helper scripts to load and save your history easily as demonstrated here, but nothing out-of-the-box.

vcsjones
- 722
- 1
- 8
- 21
-
I believe the second paragraph is no longer accurate -- I don't *think* I've customized my powershell but it now retains history between launches. – Coderer May 31 '21 at 09:23
4
After looking into this some more it looks like there isn't a physical file-system file on Windows because everything is stored in memory. It looks like I can get the history using doskey.
doskey /history
I can extract a file by simply dumping that output to a file...
doskey /history > myhistoryfile.txt

kdmurray
- 549
- 3
- 8
- 19
-
That's only the history for the current console window's lifetime, as vcsjones says above. – mfinni Jan 30 '12 at 19:52
-
Yep, but for regular-old "cmd" it looks like the only option. PowerShell isn't in use in this particular situation. – kdmurray Jan 30 '12 at 19:54