2012-09-23 252 views
2

我嘗試在我的批處理文件Ø具有許多文件和子目錄刪除文件夾(BR),我嘗試以下方法:目錄不是空的錯誤

是否存在C:\ BR( 命令rmdir「C:\ BR 「/ S/q )

但有時候我得到一個錯誤,指定的文件夾不是空的。這些文件夾包含CSS文件。 有什麼問題?

+0

賠率是一個或多個文件/目錄仍在使用中。 – Gabe

回答

9
rd /s /q DIRNAME 
rmdir /s /q DIRNAME 

,你不能刪除該文件正在使用中。
關閉任何程序將其打開,可能是您的瀏覽器,然後重試。

讓我猜,你試圖刪除%TMP%文件夾。



編輯:要回答紫皮的問題。

它會刪除它可以的每個文件和文件夾。所以,如果c:\tmp\dir2\dir3\open.txt是開放的,c:\tmp\emptyDir是一個空目錄,你這樣做:

c:\>dir c:\tmp /b /s 
c:\tmp\a.txt 
c:\tmp\dir2\b.txt 
c:\tmp\dir2\dir3\open.txt 

c:\>rd /q /s c:\tmp 

c:\>dir /s /b c:\tmp 
c:\tmp\dir2\dir3\open.txt 

你將不得不刪除:

c:\tmp\a.txt 
c:\tmp\dir2\b.txt 

並刪除:

c:\tmp\emptyDir 

但仍然有目錄...

c:\tmp 
c:\tmp\dir2 
c:\tmp\dir2\dir3 

...一個文件:

c:\tmp\dir2\dir3\open.txt 

相反,如果a.txt是開着的,你只需要:

c:\tmp\ 

c:\tmp\a.txt 
+0

是的我認爲這是問題,但如果出現這些錯誤,這意味着該文件夾不會刪除?或只有消息出現,文件夾刪除好? – zipi

+0

@zipi - 它將刪除並刪除所有可以刪除的內容,並且只保留這些文件(以及其路徑中的文件夾)未刪除和未刪除。如果你需要這個視覺,我已經添加了答案。 –

+0

嗨詹姆斯!問題重現,如果沒有文件夾,打開..你知道爲什麼? – zipi

0

要刪除命令行中的目錄,必須首先刪除它在其中投入的所有文件和子文件夾。如果其中一些項目是隻讀的,則可能會出現此問題。/f會試圖強制刪除它們。

嘗試

if exists C:\BR (del "C:\BR" /f /s /q) 

這裏有DEL命令的MS文檔:http://www.microsoft.com/resources/documentation/windows/xp/all/proddocs/en-us/del.mspx?mfr=true

+0

實際上,'rmdir/s/q'強制刪除只讀文件,事先不需要'del'命令。問題一定在其他地方。 –

2

Win7上我用一個簡單bat文件去解決問題:

call :rmdir "my_directory_01" 
call :rmdir "my_directory_02" 
pause 
goto :EOF 

:rmdir 
    if exist %1 rmdir /s /q %1 
    if exist %1 goto :rmdir 
goto :EOF 
1

我有同樣的問題和解決方案非常愚蠢。請首先使用/ Q和/ S來解決您的問題。所以命令應該是這樣的:

是否存在%build_folder%RD/Q/S%build_folder%

請讓我知道如果這能解決您的問題。

問候 Anuj

2

我也有類似的問題。嘗試了很多不同的解決方案,但最終僅下列工作:

rmdir c:\<directory> /s /q 

以前使用CMD其他方法我得到以下幾點:

目錄不是空的。