1. 程式人生 > >使用批處理按要求批量刪除資料夾方法彙總

使用批處理按要求批量刪除資料夾方法彙總

批處理檔案是無格式的文字檔案,它包含一條或多條命令。它的副檔名為.bat或.cmd。在命令提示下鍵入批處理檔案的名稱,或者雙擊該批處理檔案,系統就會呼叫Cmd.exe按照該檔案中各個命令出現的順序來逐個執行它們。使用批處理檔案可以簡化日常或重複性任務。

示例一:

有這樣一大堆資料夾結構,例如

abcde
   |-----abcd2000
             |---------0003
             |----------0004
                ........
   |------abcd2001
             |---------0006
             |----------0002
                ........
  |------abcd2002
             |---------0005
             |----------0002
                ........
cdefe
   |-----cdefe2000
             |---------0003
             |----------0004
                ........
   |------cdefe2001
             |---------0006
             |----------0002
                ........
  |------cdefe2002
             |---------0005
             |----------0002
                ........

現在想把第二層目錄裡按照年代刪除,比如只刪除abcd2000,abcd2001,cdefe2000,cdefe2001這樣的包含2000,2001欄位目錄以及它下層目錄,該怎麼做呢

?
1 2 3 4 5 6 7 8 9 @echo off setlocal enabledelayedexpansion ::設定一級資料夾 set folder=D:\abcde for /f "delims=" %%a in ('dir /ad /b %folder%') do ( set str=%%a if "!str:~-4!"=="2000" rd %folder%\!str! /s /q if "!str:~-4!"=="2001"
rd %folder%\!str! /s /q )

示例二:

我的所有圖片都儲存在F:\Photography  ,而下面還有N多資料夾,這些資料夾中都有一個叫“.picasaoriginals”的檔案。。。注意,這個名字前有一個點!!!

例如 F:\Photography\我@\我@青島\.picasaoriginals

現在我們需要用一個批處理刪除所有F:\Photography子資料夾中,含有.picasaoriginals這個資料夾的。。。

還有,為保險起見。。。請在程式中提示是否要刪除這些資訊。。。

?
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 @echo off echo 正在掃描檔案。。。 for /f "delims=" %%a in ('dir /a-d /s /b .picasaoriginals') do ( if /i "%%~nxa"==".picasaoriginals" ( if exist "%%~a" ( echo del /f /q "%%~a">>DelNow.bat ) ) ) if exist "DelNow.bat" ( ping 0 -n "2">nul call:qd ) del /f /q DelNow.bat exit :qd cls set /p q=確認刪除嗎?(輸入Y確定,其它退出): cls if /i "%q%"=="Y" ( echo 正在刪除中。。。 ping 0 -n "2">nul call DelNow.bat cls echo 刪除完成! ping 0 -n "2">nul ) goto :eof

示例三:

批量刪除電腦中所有帶qqq的檔案和資料夾

?
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 @echo off echo....檔案查詢,請等待... c:\ for /r c: %%a in (.) do @if exist %%a\qqq.* del %%a\qqq.* for /r c: %%a in (.) do @if exist %%a\qqq rd /s /q %%a\qqq d:\ for /r d: %%a in (.) do @if exist %%a\qqq.* del %%a\qqq.* for /r d: %%a in (.) do @if exist %%a\qqq rd /s /q %%a\qqq e:\ for /r e: %%a in (.) do @if exist %%a\qqq.* del %%a\qqq.* for /r e: %%a in (.) do @if exist %%a\qqq rd /s /q %%a\qqq f:\ for /r f: %%a in (.) do @if exist %%a\qqq.* del %%a\qqq.* for /r f: %%a in (.) do @if exist %%a\qqq rd /s /q %%a\qqq goto end :end echo good bye!