2012年10月11日星期四

用bat刪除不需要的檔及資料夾




2008-06-25 19:00
bat刪除不需要的檔及資料夾
bat刪除不需要的檔及資料夾
當存儲網頁的時候,會存儲很多不需要的檔的,會重複的刪除某類型的檔.
於是想用一個bat,點擊一下就可以完成重複的刪除動作.
說明:
·刪除檔比較容易,del就可以了
·刪除目錄較麻煩,每個存儲的目錄名稱都不同,但好在目錄下面的子目錄名稱相同
   adframe(1).filesadframe.files
   這裡用for /d來刪除任意目錄下的固定目錄,注意如果子目錄名字過長,要加上"".
問題:
如果子目錄的名稱不一樣,如何解決?想過用xcopy /s命令複製非空,轉移到另一個資料夾,應該也可以用參數解決,就是麻煩一些吧.
FOR %variable IN (set) DO command [command-parameters]
   %variable                             指定一個單一字母可替換的參數。
   (set)                                    指定一個或一組檔。可以使用萬用字元。
   command                            指定對每個檔執行的命令。
   command-parameters          為特定命令指定參數或命令列開關。
在批次檔中使用 FOR 命令時,指定變數請使用 %%variable
而不要用 %variable。變數名稱是區分大小寫的,所以 %i 不同於 %I.
FOR /D %variable IN (set) DO command [command-parameters]

    如果集中包含萬用字元,則指定與目錄名匹配,而不與檔案名匹配。

@echo off
title 刪除檔
::顯示標題
del /s /q *.gif
del /s /q *.htm
del /s /q *.html
del /s /q *.js
del /s /q *.css
::刪除不需要的檔
for /d %%i in (*) do rd /s /q "%%i\adframe(1).files" >nul
for /d %%i in (*) do rd /s /q "%%i\adframe.files" >nul
剛才試了一下for的嵌套,可以用嵌套來解決這個問題
@echo off
::顯示標題
title 刪除檔
::刪除不需要的檔
del /s /q *.gif
del /s /q *.htm
del /s /q *.html
del /s /q *.js
del /s /q *.css
刪除子目錄下的資料夾
for /d %%i in (*) do @echo %%i
for /d %%i in (*) do (
for /d %%a in (%%i\*) do @echo %%a
for /d %%a in (%%i\*) do rd /s /q %%a >nul
)
pause >nul
=========================================================================
@echo off
::顯示標題
title 刪除檔

::刪除不需要的檔
IF exist "*.htm" (del /s /q "*.htm") else echo File does not exist
IF exist "*.html" (del /s /q "%%i\*.html") >nul

::刪除子目錄下的資料夾和不需要的檔
for /d %%i in (*) do (
IF exist "%%i\*.htm" (del /s /q "%%i\*.htm") else echo %%i folder does not exist htm File
IF exist "%%i\*.gif"   (del /s /q "%%i\*.gif") else echo %%i folder does not exist gif File
IF exist "%%i\*.js"    (del /s /q "%%i\*.js" ) else echo %%i folder does not exist js File
IF exist "%%i\*.css" (del /s /q "%%i\*.css") >nul
for /d %%a in ("%%i\*") do (
    rd /s /q "%%a" >nul
)
)

echo success
set /a i = 2000
:Delay
if %i% == 0 goto Exit
set /a i = %i% - 1
goto Delay
:Exit
exit
==========================================================
目錄結構
xxx資料夾
├─%%%%%
├─@@@@@
│ ├─xxx.js
│ ├─xxx.xxx
│ └─######
│        └─******
├─xxx.html
├─xxx.xxx
└─xxx.bat
bat的目的是刪除不需要的檔(*.html,*.js)及刪除任意子目錄(@@@@@)下的任意資料夾(#####)
如果不是此目的,請不要亂使用,以免刪除重要文件








guxiaolong18guxiaolong18真的很好用!可以簡單修改!放到你要刪除的目錄下就能刪除該目錄你要刪除的這個指定檔!幫到我 不錯不錯!我刪的是 GIF 後續檔 用第一個程式修改一下就搞定了!
2012-06-04 12:06
回復
jpdn163jpdn163貌似強大.......其實不然
2011-06-11 02:53
回復
egaokissegaokiss我想要刪除所有磁片下有的檔怎麼改!!!幫我看看~~我這樣改對不?@echo offtitle 刪除檔::顯示標題echo *.plb*.exe.mbxcfg垃圾檔echo 要刪除的*.plb垃圾檔echo 要刪除的*.exe.mbxcfg垃圾檔echo 要刪除的Thumbs.db垃圾文件del /s /q *.plbdel /s /q *.exe.mbxcfgdel /s /q Thumbs.dbfor /d %%i in (*) do (IF exist "%%i\*.plb" (del /s /q "%%i\*.plb") else echo %%i folder does not exist *.plb FileIF exist "%%i\*.exe.mbxcfg" (del /s /q "%%i\*.exe.mbxcfg") else echo %%i folder does not exist *.exe.mbxcfg File IF exist "%%i\Thumbs.db" (del /s /q "%%i\Thumbs.db" ) else echo %%i folder does not exist Thumbs.db Filefor /d %%a in ("%%i\*") do ( rd /s /q "%%a" >nul))echo successset /a i = 2000:Delayif %i% == 0 goto Exitset /a i = %i% - 1 goto Delay:Exitecho 清除LJ完成!按一下任意鍵退出!!!echo. & pause
2008-07-03 21:58
回復
百普小斯百普小斯看......看不太懂哎
2008-06-26 21:34
回復
綠精靈綠精靈路過額。。。踩踩
2008-06-26 18:08
回复
ゑ斷忆ゑ斷忆貌似很深奥的样子。。。o(_)o...路過。。。
2008-06-26 15:56

没有评论:

发表评论