2013-05-08 47 views
2

我有循环路径用空格和通配符

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 

它使整个字符串,但只要我添加通配符它打破了路了。总体目标是删除此文件夹中的所有文件夹而不删除文件夹本身。

注意:这些只是测试文件夹,而试图解决这个问题,真正的文件夹可以命名任何东西。

回答

1

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

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

* facepalm *你是正确的。它总是愚蠢的事情。 – 2013-05-08 12:47:10

1

我通常使用旧的DOS 8个字符的路径

  • “文件和设置” 解决这个问题是: “DOCUME〜1”
  • “程序文件” 是 “PROGRA〜1”
  • “新建文件夹”是newfol〜1

如果你有一个文件夹中的多个相似的名称,则约1时到底是反

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

确实这确实妨碍了新的文件夹,但这些只是测试文件夹。真正的文件夹可以命名为任何东西。 – 2013-05-08 12:34:09

+0

Ofcourse,但任何文件夹的语法都是一样的。只需制作一个带文件夹名称的功能,删除所有空格,取6个第一个字母并在其后面添加〜1。还应该有一个检查,看看是否有多个文件夹命名相同的六个第一个字母,在这种情况下〜2〜3等等。 – Sourcery 2013-05-08 12:42:18