The Windows command line console is extremely basic, thanks mostly to a horrible interface which hasn't changed significantly in years.
Windows 10 will bring some improvements, but if you don’t plan on upgrading for a while -- or you just can’t wait -- then the open source PyCmd delivers a smarter command prompt right now.
There's no installation required, just unzip the 2.2MB download, launch PyCmd.exe and a command prompt appears. It looks much like the regular console, although the current folder is highlighted for easier reading, and its path is by default abbreviated to save screen space (PyCmd’s own \PyCmd folder becomes \PC).
Start work and you’ll find PyCmd offers much smarter autocompletion. Type a partial file or folder name, an internal command or environment variable, press Tab, and the program displays every match up-front (no cycling here).
If a file or folder name includes spaces, you won’t have to remember to add quotes any more (CD “\Folder One”), because PyCmd inserts them as required.
A command history persists across sessions. Just keep hitting the up arrow to browse everything you’ve been doing recently.
It’s just as easy to recall your recently-visited folders. Pressing Alt+left or right arrows steps through your folder history and instantly switches you to the new path.
There’s also built-in Ctrl+C/X/V support for copy and paste, Emacs-style key bindings, and a few smaller additions to explore.
It's not all good news. We immediately discovered that entering CD\ doesn’t switch you to the root folder, for example. Maybe it's because there’s no space as a delimiter (CD \ works fine), but it works just fine with Cmd.exe, and small incompatibilities like this can be annoying if they’re commands you use regularly.
More fundamentally, the regular console function keys -- F1, F3, F7 -- didn't do anything at all, although we’re not sure whether this is a general issue, or something specific to our test Windows 8.1 system.
PyCmd definitely has some problems, then, but if you can avoid them -- or they affect some command you never use anyway -- then there's plenty to like here. Take a look.