Cmd 带空格和通配符的路径

Cmd 带空格和通配符的路径,cmd,dos,Cmd,Dos,我有这个循环命令行 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

我有这个循环命令行

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字符路径来解决此问题

  • “文档和设置”是:“文档~1”
  • “程序文件”是“progra~1”
  • “新文件夹”是newfol~1
如果文件夹中有多个相似的名称,则末尾的~1是计数器

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

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

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

如果为True,则会专门阻塞新文件夹,但这些只是测试文件夹。真正的文件夹可以命名为任何名称。当然,但语法对于任何文件夹都是相同的。只需创建一个函数,该函数接受文件夹名称,删除所有空格,接受前6个字母,并在其后添加~1。还应该检查一下是否有许多文件夹的名字都是相同的——六个第一个字母,在这种情况下~2~3等在Eclipse中为我工作