2011-09-11 44 views
1

我想只刪除一個子文件夾,該子文件夾出現在許多文件夾中。如何在所有子文件夾中只刪除和創建特定文件夾

例如,我有一個父文件夾Main source,並且Main Source包含超過100個子文件夾。

每個文件夾都有幾個常用文件夾,如child_AB,child_BC

我想使用批處理文件刪除「父」子文件夾中的所有子文件夾。

你能告訴我該怎麼辦? >D:\Main_Source - 在d驅動呈現


添加例如

父文件夾。

Main_Source包含下列文件夾

LDAP_A1 
LDAP_A2 
LDAP_A3 
LDAP_A4 
LDAP_A5 
...... 
...... 
So on... 

每個LDAP文件夾中有child_ABchild_CD

我想在每個子文件夾中刪除child_ABchild_CD

如何使用批處理文件在每個子文件夾中刪除child_ABchild_CD

我是批量文件編碼的新手。

+0

兩次閱讀你的問題,我仍然不知道你到底想要什麼。這聽起來像是'for/d/r'的一個簡單的用法,但我無法確定。 – Joey

回答

0

試試這個:在根文件夾的子文件夾父母,在父母的孩子子文件夾內一個迭代

@ECHO OFF 
SET "rootdir=D:\Main_Source" 
FOR /D %%A IN ("%rootdir%\LDAP_*") DO (
    FOR /D %%B IN ("%%A\*") DO (
    IF "%%~nxB"=="child_AB" ECHO RMDIR /S /Q "%%B" 
    IF "%%~nxB"=="child_CD" ECHO RMDIR /S /Q "%%B" 
) 
) 

外循環迭代。

正如你所看到的,這個特定的腳本只是迴應一個RMDIR命令列表,而不是實際執行它們。我會建議您首先驗證其生成的路徑,然後只刪除ECHO關鍵字並再次運行它以繼續實際刪除。

0

運行從Main_Source目錄此腳本:

for /F "delims=" %%a in ('dir /ad /b') do (
    if exist "%%a\child_AB" rd /s /q "%%a\child_AB" 
    if exist "%%a\child_CD" rd /s /q "%%a\child_CD" 
) 

您可以添加echo命令來調試。

相關問題