2013-05-08 50 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