带空格和通配符的路径

时间:2013-05-08 12:24:11

标签: cmd dos

我有这个命令行for loop

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

它保留整个字符串,但是一旦我添加了通配符,它​​就会打破路径。总体目标是删除此文件夹中的所有文件夹而不删除文件夹本身。

注意:在尝试解决此问题时,这些只是测试文件夹,真正的文件夹可以命名为任何内容。

2 个答案:

答案 0 :(得分:1)

我通常使用旧的DOS 8字符路径来解决这个问题

  • “文件和设置”是:“docume~1”
  • “程序文件”是“progra~1”
  • “新文件夹”是newfol~1

如果文件夹中有多个相似的名字,那么最后的〜1是一个计数器

new folder = newfol~1
new folder2 = newfol~2
new folderhuppla = newfol~3

答案 1 :(得分:1)

双引号rmdir参数。在批处理文件中使用时,还要加倍%。

for /d %f in ("C:\Documents and Settings\Moi\Desktop\New Folder\*") do rmdir "%f"