Windows shell auto-complete!!!

Windows shell (cmd.exe) is totally lame. Well, compared to bash at least. Anyways, it turns out that you can turn on autocomplete (TAB) kind of similar to using TAB on linux / cygwin / bash. Not enabled by default, um, I don’t know why. Anyways, here’s the registry entry to turn it on.

jpsdomain.org: Windows Shell Scripting

A Tweak

Did you know that Window’s cmd.exe has file and directory name completion, like UNIX shells? It does, and that can be amazingly useful. But in most versions of Windows it’s not turned on by default. (I believe it may be on in Windows 2003, but can’t swear to it.)

To enable file and directory name completion under Windows, download this registry file and remove the .txt, then double-click on it and answer yes to the question about importing into the Registry. If you can’t download for some reason you can copy the text below into a new file and import it, or just open regedit, navigate to the key, and change the values for CompletionChar and PathCompletionChar to 9. One you’ve done that, open a new command prompt and type dir c:\win then hit the TAB key and watch what happens. Of course the up arrow and other command line editing functions will still work as always.

REGEDIT4

; NT-TAB.reg — Sets the NT Command Completion Character to TAB
; Use “RegEdit /s NT-TAB.reg” for silent installations
; v1.0 1998-10-22 JP Vossen http://www.jpsdomain.org/
; v1.1 2001-09-06 JPV Added PathCompletionChar
; v1.2 2003-03-30 JPV Added .DEFAULT and SOFTWARE sections

[HKEY_CURRENT_USER\Software\Microsoft\Command Processor]
“CompletionChar”=dword:00000009
“PathCompletionChar”=dword:00000009

; Can also do this if you have the permissions
;[HKEY_USERS\.DEFAULT\Software\Microsoft\Command Processor]
;”CompletionChar”=dword:00000009
;”PathCompletionChar”=dword:00000009

Comments

  1. Thank you very much. You just fixed this problem for me which was really annoying. In vista!!!, for some reason the completion character being used wasn’t exactly 0×9.

    Reply

Leave a Reply