6

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.

1
  • 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, 2012 at 14:03

2 Answers 2

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.

1
  • 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, 2021 at 9: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
2
  • That's only the history for the current console window's lifetime, as vcsjones says above.
    – mfinni
    Jan 30, 2012 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, 2012 at 19:54

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .