I spend a lot of my time at the terminal for my daily work, mostly in Linux or wsl. One big reason for using wsl over cmd.exe is the ease of walking through history that fzf provides. This week we had a windows bug in a cli and I was stuck in vanilla cmd.exe 😭
> Cmder
First off if you are stuck using cmd.exe, do yourself a favor and get cmder. It makes life just a bit easier. It is super confugurable and comes with several power ups that make it a bit more enjoyable than cmd.exe.
History
F7 - Scroll through history
F8 - Search history based
Example
.bat
The next simple technique is to save your commands into a .bat file. Any valid command ran with cmd.exe can be saved into a bat file and called again later by running it in the terminal.
save your command
use f7/f8 to get your command back add > filename.bat
at the end, hit the home key and add echo to the front. Do not wrap with quotes. This is not bash.
echo python cmd_example.py > cmd_example.bat
>> append
echo python cmd_example2.py >> cmd_example.bat
type not cat
To ensure that you got the command right... and didn't forget that you were in cmd.exe instead of bash and add quotes. you will want to see the file contents. For this reach for type not cat.
type cmd_example.bat
results
python cmd_example.py
python cmd_example2.py
Original Post
This was originally posed on my personal blog on January 23, 2020.
Your quick tips
Let me know what quick cmd.exe tips you have down below 👇