2013-03-01 135 views
0

我使用(和狀態,這目錄是不是空的?):批量刪除空目錄

for /f "tokens=*" %%d in ('dir /ad/b/s ^| sort /R') do rd "%%d" 
pause 

返回:

The directory is not empty. 

任何非空目錄。有沒有什麼辦法可以特別列出哪些目錄不是空的而不是模糊的聲明?我知道手動檢查目錄並不是很費力,但是這是我試圖使用戶更友好的更大腳本的一部分。

回答

1

rd返回ERRORLEVEL就可以使用,只是改變:

rd "%%d" 

要這樣:

rd "%%d" || (echo Not empty: %%d) 

rd刪除錯誤信息也只是重新stderrnul

rd "%%d" 2>nul || (echo Not empty: %%d) 
+0

這很好,謝謝。有沒有辦法只顯示文件夾的名稱,而不是完整的路徑? – Insarov 2013-03-01 17:31:17

+1

@ user2100577 - 嘗試'不爲空:%%〜nd' – rojo 2013-03-01 17:43:36

+0

這正是我需要的,謝謝。我仍然習慣於奇怪的語法。 – Insarov 2013-03-01 18:18:21