How to make TAB work right in Command Window?

When I press TAB key in command window, the tab character (spacing) is inserted instead of iterating trough items in current directory. How can I make it work this other way (autocompletion)?


Solution 1:

It looks like completion may be disabled in the Registry.

There's an explanation below, from the output of cmd /?:

File and Directory name completion is NOT enabled by default. You can enable or disable file name completion for a particular invocation of CMD.EXE with the /F:ON or /F:OFF switch.
You can enable or disable completion for all invocations of CMD.EXE on a machine and/or user logon session by setting either or both of the following REG_DWORD values in the registry using REGEDT32.EXE (actually, just regedit.exe would be fine):

HKEY_LOCAL_MACHINE\Software\Microsoft\Command Processor\CompletionChar
HKEY_LOCAL_MACHINE\Software\Microsoft\Command Processor\PathCompletionChar

    and/or

HKEY_CURRENT_USER\Software\Microsoft\Command Processor\CompletionChar
HKEY_CURRENT_USER\Software\Microsoft\Command Processor\PathCompletionChar

with the hex value of a control character to use for a particular function (e.g. 0x4 is Ctrl-D, 0x6 is Ctrl-F, 0x9 is Tab). The user specific settings take precedence over the machine settings. The command line switches take precedence over the registry settings.

If completion is enabled with the /F:ON switch, the two control characters used are Ctrl-D for directory name completion and Ctrl-F for file name completion.
To disable a particular completion character in the registry, use the value for space (0x20) as it is not a valid control character.

Solution 2:

To make TAB default for auto complete follow below

  1. open REGEDIT
  2. look for HKEY_LOCAL_MACHINE\Software\Microsoft\Command Processor\CompletionChar
  3. change the value to 9
  4. restart the cmd
  5. That's it.