I do like PowerShell, but sometimes find myself pressing the up-arrow a lot to find commands made in previous sessions. Unfortunately the F8 search shortcut only works with the current session, so I wanted a way to find older commands more easily.
Knowing that PowerShell can retrieve history from older sessions, I assumed it must be stored on disk, and after a bit of guessing found this file: %appdata%\Microsoft\Windows\PowerShell\PSReadline\ConsoleHost_history.txt
To make it a bit more useful, I’ve removed common commands and duplicates using the following script.
$patterns = @("^cls", "^cd.*", "^\w:", "^exit", "^mkdir") Get-Content "$env:APPDATA\Microsoft\Windows\PowerShell\PSReadline\ConsoleHost_history.txt" | Select-String -pattern ($patterns -join "|") -notmatch | Select -Unique | Out-File commands.txt