1. 程式人生 > >一鍵清理系統垃圾.bat檔案中的誤區,你瞭解嗎?

一鍵清理系統垃圾.bat檔案中的誤區,你瞭解嗎?

前幾年在網上出現了一個“一鍵清理系統垃圾檔案.bat”,這個簡單又方便的批處理很快就傳開了。而且到現在還是很紅。很多人都在用這個批處理清理Windows系統垃圾檔案。大多數人覺得方便好用,也不管它的原理是什麼,而一些喜歡搞清楚“為什麼”的朋友也多少了解其中的原理。大家都認為這個批處理很安全,不會破壞系統中的正常檔案,可以放心地使用。不過真的是這樣嗎?

適用範圍:

  • 電腦(win7,xp)
  • 一鍵清理系統垃圾.bat
方法步驟:

@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%\recycled\*.*

del /f /s /q %windir%\*.bak

del /f /s /q %windir%\prefetch\*.*

rd /s /q %windir%\temp & md %windir%\temp

del /f /q %userprofile%\cookies\*.*

del /f /q %userprofile%\recent\*.*

del /f /s /q "%userprofile%\Local Settings\Temporary Internet Files\*.*"

del /f /s /q "%userprofile%\Local Settings\Temp\*.*"

del /f /s /q "%userprofile%\recent\*.*"

echo 清除系統LJ完成!

echo. & pause

非常簡單的幾行程式碼,作用卻不小。我們把它分解看看:

  1. 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

    這幾行程式碼是刪除系統盤根目錄冗餘檔案的,沒什麼問題,繼續分解。

  2. del /f /s /q %systemdrive%\recycled\*.*

    如 果我沒有理解錯,這一行程式碼的作用是刪除回收站中的檔案。不過,recycled是FAT32格式下的回收站資料夾,如果你的硬碟不曾使用過FAT32格 式,一般不會出現這個資料夾。現在的Windows系統盤普遍已經採用NTFS格式,及有可能不存在recycled資料夾,所以這一行程式碼在大多數情況 下,是無效的。而在它有效的情況下,不經使用者確認就直接刪除回收站中的檔案,容易造成難以挽回的損失。此為誤區一

  3. del /f /s /q %windir%\*.bak

    這句的作用是刪除Windows目錄下的備份檔案,也沒有什麼問題。

  4. del /f /s /q %windir%\prefetch\*.*

    prefetch中存放的是預讀檔案,可以加快程式啟動速度。如果你的作業系統還是安裝在機械硬碟中,把它刪除了,雖然能夠加快丁點電腦開機時間,但執行常用程式時會付出更多的時間。此為誤區二

  5. rd /s /q %windir%\temp & md %windir%\temp

    這 一行程式碼的作用是清理系統臨時資料夾中的臨時檔案。先把臨時資料夾刪除,然後再建立。如果系統盤是FAT32檔案格式下,這一行程式碼沒什麼副作用。但如果 系統盤的檔案格式是NTFS,它會破壞系統資料夾原有的許可權設定,造成一些軟體的執行異常。這種異常較難排查(很多人都想不到是因為清理垃圾檔案造成 的),特別是在伺服器中表現尤為常見。此為誤區三

  6. del /f /q %userprofile%\cookies\*.*

    cookies的作用大家都很瞭解了,讓我們在論壇、部落格、微博等需要輸入使用者名稱、密碼的地方不需要頻繁輸入的好東西,它的作用不只如此,不少朋友使用“一鍵清理系統垃圾檔案.bat”時都把這句去掉了。姑且把它算為誤區四吧。

  7. del /f /q %userprofile%\recent\*.*

    del /f /s /q "%userprofile%\recent\*.*"

    把 這兩行程式碼放在一起看。這兩行讓我糾結了很久,我一直以為是自己找到的“一鍵清理系統垃圾檔案.bat”有問題,可是在搜尋引擎來回翻騰了幾圈下來發現, 確實沒有錯……這兩行程式碼的作用是一樣的,不過有後一行就夠了,前一行是 多餘+無效 。%userprofile%路徑必須加引號才能在批處理中正確識別。此行的作用是刪除最近開啟的文件列表,而把它清空後,就不能快速地從最近開啟的文件 列表找到剛剛開啟過的文件,這樣是否方便了電腦的使用,就見仁見智了。此乃誤區五。

  8. del /f /s /q "%userprofile%\Local Settings\Temporary Internet Files\*.*"

    刪 除IE臨時檔案,其實我們只要把IE臨時資料夾的大小設定一個適當的值,通常就可以不用去管它了(推薦100M-200M之間)。我遇到過需要 清空它的情況有兩種:1、開啟網頁緩慢、網頁元素無法更新,這是由於IE臨時資料夾磁碟空間設定過大造成的,把其值設定小一些就行了;2、通過IE瀏覽器 看線上視訊時無法緩衝,只要把這個資料夾清空一般就能解決問題。

  9. del /f /s /q "%userprofile%\Local Settings\Temp\*.*"

    這是最後一個誤區。此行程式碼的作用是刪除當前帳戶臨時資料夾中的臨時檔案,不過它只刪除了檔案,卻留下了許多空資料夾(del命令只能夠刪除檔案,不能夠刪除資料夾)。久而久之,臨時資料夾中就留下了大量無用的空資料夾,沒有完全達到清理垃圾的目的。

  10. 以 上特別列出了的六點,就是“一鍵清理系統垃圾檔案.bat”中的六個誤區,通過對此批處理的分解後,作者猜測,作者編寫此批處理時是基於 FAT32檔案系統格式。雖然程式碼上存在一些瑕疵,但不可否認,在很多人都才剛剛開始接觸電腦的時候,就已經有人編寫出了這麼優秀的 批處理,作者確實是一個讓人佩服的電腦高手。相信在我寫這篇經驗的時候,自認為已經高出當時的自己幾個段位了,而現在的批處理作者必定也還是高於現在的 作者幾個段位的。

    不過“一鍵清理系統垃圾檔案.bat”畢竟是FAT32時期的產物,已經有點不適應現在的Windows系統環境了,希望大家在使用此批處理時,能夠知道它的具體作用,優點與缺點,懂得根據自己的需求取捨其中的程式碼。這也就達到作者寫這篇經驗的目的了。



相關推薦

no