2

我正在執行一個批處理文件,它將刪除服務器上特定文件夾中的所有內容。 它到目前爲止工作,但不幸的是不能識別具有文件夾名稱中的空格的目錄。 我不知道在腳本的哪裏放置引號來克服這個限制。遞歸地刪除目錄

這是腳本到目前爲止,它位於根「d:\」:

cd Sharedfolder 
for /f %%i in ('dir D:\Sharedfolder /B /D') do rd %%i /Q /S 
del /F /S /Q *.* 

它的工作好,但只要我有內部的目錄「Sharedfolder」它不會爲那個目錄工作。

回答

2

這是你正在尋找完整的答案,試試這個:

for /f "delims=" %%x in ('dir /b /ad abc*') do rd /s /q "%%x" 

我都試過了,它的工作原理。

+0

不,不幸的是沒有工作。 它試圖刪除「D:\ Sharedfolder \ D:\ Sharedfolder」及其子目錄。 另外,我必須在/ S/Q之前放置「%% I」,以使其完成任何操作。 – 2013-04-09 09:58:46

+0

我編輯了答案,並檢查瞭解決方案。它的工作很好。祝一切順利。 – 2013-04-09 13:57:00

4

命令使用中存在不匹配。要麼使用FOR/F或使用

FOR /D %%i IN (D:\Sharedfolder\*) DO rd /s /q "%%i" 
del /F /S /Q *.* 

更接近你在想什麼。另一種解決方案是:

rmdir /s /q D:\Sharedfolder 
mkdir D:\Sharedfolder 

這樣做可能會在系統其他地方遇到一些問題。