如何使 TAB 在命令行窗口中正常工作?

Joh*_*nM2 15 command-line windows-xp

当我在命令窗口中按 TAB 键时,会插入制表符(间距)而不是迭代当前目录中的槽项目。我怎样才能让它以另一种方式工作(自动完成)?

njd*_*njd 17

看起来完成可能在注册表中被禁用。

下面有一个解释,来自输出cmd /?

默认情况下不启用文件和目录名称补全。您可以使用 /F:ON 或 /F:OFF 开关为 CMD.EXE 的特定调用启用或禁用文件名完成。
您可以通过使用 REGEDT32.EXE 在注册表中设置以下 REG_DWORD 值中的一个或两个来启用或禁用计算机和/或用户登录会话上所有 CMD.EXE 调用的完成(实际上,只需要 regedit.exe 就可以了)

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
Run Code Online (Sandbox Code Playgroud)

带有用于特定功能的控制字符的十六进制值(例如 0x4 是 Ctrl-D,0x6 是 Ctrl-F,0x9 是 Tab)。用户特定设置优先于机器设置。命令行开关优先于注册表设置。

如果使用 /F:ON 开关启用补全,则使用的两个控制字符是 Ctrl-D 用于目录名补全,Ctrl-F 用于文件名补全。
要禁用注册表中的特定完成字符,请使用空格值 (0x20),因为它不是有效的控制字符。

  • 同样,要将 Tab 设置为完成字符,请将 CompletionChar 和 PathCompletionChar 的值都设置为 '9'(十进制和十六进制的 Tab 的 ASCII 代码)。 (7认同)