2015-10-02 204 views
0

我想刪除用戶目錄中的一些文件和文件夾。這是它的樣子。我在C:\ Users \中有一些用戶帳戶,如'Bob'和'Joe'。在每個目錄中,我想刪除一些文件夾和文件。因此,該架構是這樣的,我的腳本現在是低於:批處理文件刪除用戶目錄中的文件和文件夾

我試圖刪除\ TEMP \文件,並試圖刪除整個目錄。有任何想法嗎?如果添加了另一個用戶名,我也試圖讓腳本工作。由於

+0

我在這裏沒有看到問題,所以我認爲「這不起作用。」它應該做什麼,它究竟在做什麼?沒有文件被刪除?文件夾是否被刪除?您是否完全格式化硬盤驅動器? – SomethingDark

+1

另外,請記住,在腳本里面,for循環變量需要兩個'%'符號,所以'%m'應該是'%% m'。 – SomethingDark

+0

@SomethingDark,對不起,這是正確的。這工作不正常。感謝您的信息,我將添加額外的% – ClaytunBigsby

回答

0

試試這個 FOR/d %% p在( 「%文件路徑放在這裏%」)DO命令rmdir 「%% P」/ S/Q

要刪除的文件夾改變文件%路到這裏%到該文件夾​​的文件路徑和刪除%體徵

0

讓我們擴展這一點。

for /r "d:\Program Files\Logs\Logs" %%a in (*.zip) do (
    for %%b in ("%%~dpa\.") do (
     if /i "%%~nxb" == "Special" (
     forfiles /p "%%~dpa." /m "%%~nxa" /d -60 /c "cmd /c del @path && echo @path was deleted" 
     ) else (
     forfiles /p "%%~dpa." /m "%%~nxa" /d -30 /c "cmd /c del @path && echo @path was deleted" 
     ) 
    ) 
) 

你可以擴展爲包括您的臨時文件夾:

for /r "c:\users" %%a in (*.*) do (
    for %%b in ("%%~dpa\.") do (
     if /i "%%~dpa" == "temp" (
     forfiles /p "%%~dpa." /m "%%~nxa" /c "cmd /c rd /q/s @path" 
     ) else (
     forfiles /p "%%~dpa." /m "%%~nxa" /c "cmd /c del @path" 
     ) 
    ) 
) 

注:RD/Q/S,如果您使用/?你會得到%〜dpa等變量替換。

希望這會有所幫助!

相關問題