返回列表 回復 發帖

批次處理刪除系統垃圾的合理性

如果你在網上搜索"清除系統垃圾的批次處理"、"批次處理清除系統垃圾"之類的關鍵字,能找到成千上萬個類似於下麵的批次處理。這段代碼可以說是廣為流傳,咋一用起來貌似也很不錯,比那些優化軟體方便多了,按兩下滑鼠,一切搞定,還能彈出很酷的黑色介面。很多網友也樂於此道,還非常執著地從一個論壇轉發到另一個論壇,在這個QQ群轉發到那個QQ群,甚至email群發給N多同事。
其實這段代碼本身就是一個垃圾中的霸主。那是什麼?還是垃圾!
@echo off
echo 正在清除系統垃圾檔,請稍等......
del /f /s /q %systemdrive%*.tmp
del /f /s /q %systemdrive%*._mp
del /f /s /q %systemdrive%*.log
del /f /s /q %systemdrive%*.gid
del /f /s /q %systemdrive%*.chk
del /f /s /q %systemdrive%*.old
del /f /s /q %systemdrive%
ecycled*.*
del /f /s /q %windir%*.bak
del /f /s /q %windir%prefetch*.*
rd /s /q %windir%        emp & md %windir%        emp
del /f /q %userprofile%cookies*.*
del /f /q %userprofile%
ecent*.*
del /f /q %userprofile%*.*
del /f /s /q "%userprofile%Local SettingsTemporary Internet Files*.*"
del /f /s /q "%userprofile%Local SettingsTemp*.*"
del /f /s /q "%userprofile%
ecent*.*"
echo 清除系統垃圾完成!
echo. & pause

這段代碼本身沒有任何錯誤,一般來說可以順利執行。下面我們就來看看它的危害吧。

rd /s /q %windir%        emp & md %windir%        emp
如果你安裝了IIS+ASP.NET的話,很可能就會遇到這個問題。在安裝ASP.NET的時候,會對temp目錄進行許可權設置。但是上面這個命令在刪除temp資料夾並重建的過程中,會把這個許可權的設置抹殺掉。後果就是你的ASP.NET所有頁面都不能成功打開,而且顯示的錯誤是framework目錄下temp中隨機檔寫失敗(而不是windir temp目錄缺少相應許可權)。如果你沒有看過類似的文章,恐怕很難知道從何下手解決這個問題。其實除了ASP.NET以外,其它應用程式也有可能出現同樣的問題。

del /f /s /q %systemdrive%*.log
日誌檔可不是隨便刪除的,否則很多軟體會無法正常卸載。更要命的是,你的資料庫可能因此而崩潰。以前有位同事就被這個害慘了,當時請教了好幾位OCP都沒有辦法,只好重裝資料庫。

del /f /q %userprofile%cookies*.*
我登陸大大小小的幾十個論壇時,都選擇了保存用戶名和密碼,誰要是把我的cookies刪除了,我真想掐死他。

del /f /s /q %windir%*.bak
不是所有的.bak檔都是垃圾。一些更改XP啟動畫面的軟體,通常會將system32目錄下的logonui.exe重命名為logonui.bak,當你覺得不爽,要卸載軟體軟體時,那麼會自動還原為原來的logonui.exe文件。但是如果你在卸載之前就把.bak刪除掉了,那就是真的不爽了。
返回列表