我有这个循环命令行
for /d %f in ("C:\Documents and Settings\Moi\Desktop\New Folder\*") do rmdir %f
它似乎是正确的,但即使使用双引号,它仍然会破坏路径。我尝试过使用十六进制等效值(0x22),但这也没有帮助。是否有另一种方法来处理其中包含空格的路径?
如果我只是尝试
for /d %f in ("C:\Documents and Settings\Moi\Desktop\New Folder\New Folder") do rmdir %f
它保留整个字符串,但一旦我添加通配符,它就会破坏路径。总体目标是删除该文件夹中的所有文件夹,而不删除文件夹本身。
注意:这些只是尝试解决此问题时的测试文件夹,真正的文件夹可以命名为任何名称。
最佳答案
我通常使用旧的 DOS 8 字符路径来解决这个问题
- “文档和设置”为:“docume~1”
- “程序文件”是“progra~1”
- “新文件夹”是newfol~1
如果文件夹中有多个相似的名称,则末尾的 ~1 是计数器
new folder = newfol~1
new folder2 = newfol~2
new folderhuppla = newfol~3
关于cmd - 带有空格和通配符的路径,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16440613/