为什么 CMD 提示 TAB 在以“!”开头的文件名上失败?

为什么 CMD 提示 TAB 在以“!”开头的文件名上失败?

为什么CMD提示TAB自动完成以“!”开头的文件名失败?

例如

在此处输入图片描述

按 T​​AB、ENTER,得到

在此处输入图片描述

更差:

在此处输入图片描述

给出

在此处输入图片描述

在此处输入图片描述

按下 TAB,只会发出哔声。

答案1

你需要引用!(我相信开头的引言就足够了)。直接来自help cmd

通过在匹配路径周围放置引号,完成代码可以正确处理包含空格或其他特殊字符的文件名。此外,如果您备份,然后从一行内调用完成,则调用完成时光标右侧的文本将被丢弃。

需要引号的特殊字符是:
<space>
&()[]{}^=;!'+,`~

我不知道具体原因(虽然大多数都是 cmd 特殊字符),但显然当不是引用,直到最后一个这样的字符(包括它)的所有内容都会被默默丢弃(因此扩展匹配每个文件)。

相关内容