如何在 Windows 命令中组合通配符和空格(引号)?

如何在 Windows 命令中组合通配符和空格(引号)?

我想删除以下格式的目录:

C:\Program Files\FogBugz\Plugins\cache\[email protected]_NN

NN是一个数字,所以我想使用通配符(这是 Visual Studio 中构建后步骤的一部分)。问题是我需要将路径名(用于 中的空格Program Files)的引号与通配符结合起来以匹配路径的结尾。我已经发现这rd是接受通配符的删除命令,但我应该把引号放在哪里?我试过不使用结尾引号(适用于dir)、...example.com*"...example.com"*...example.com_??"、,,但都不起作用。...cache\"[email protected]*...cache"\[email protected]*

(Windows 中到底有多少个用于删除文件/目录的命令?为什么它们的功能各不相同?)

答案1

rmdir 不支持通配符。它只接受完整的文件名。

您可以尝试这个替代方案:

对于/d%f在(“C:\ Program Files \ FogBugz \ Plugins \ cache \[电子邮件保护]_*”)执行 rmdir /s/q “%~f”

(这些/s/q参数的作用与Unix 上rmdir相同。参数匹配目录名而不是文件名。)rm -rffor /dfor


请记住,shellcmd.exe不执行通配符扩展(与 Unix 不同 sh)——这是由命令本身处理的。

答案2

您可以使用以下字符退出空格^C:\Program^ Files\FogBugz\Plugins\cache\[email protected]_*

相关内容