| 清理Windows更新產(chǎn)生的垃圾 |
“磁盤(pán)清理”不清理的,也要清理! 一、磁盤(pán)清理不清理的系統垃圾 使用電腦的人都有這樣的感覺(jué):雖然并沒(méi)有安裝什么程序,但是磁盤(pán)的可用空間卻越來(lái)越小。要清理磁盤(pán)垃圾,最安全的方法就是使用windows提供的磁盤(pán)清理工具:打開(kāi)“我的電腦”,然后在驅動(dòng)器上右擊鼠標,通過(guò)“屬性”對話(huà)框中的“磁盤(pán)清理”進(jìn)行清理。但我們會(huì )發(fā)現,使用這種清理后,磁盤(pán)的可用空間并沒(méi)有擴大多少。所以我們完全有理由懷疑:只用這種清理,并不能把我們的磁盤(pán)中的垃圾都清除掉。 其實(shí),在我們的磁盤(pán)中,有一個(gè)Windows的磁盤(pán)清理程序不清理的,占用空間巨大的垃圾,這就是Windows系統更新所產(chǎn)生的垃圾文件。 為了系統的安全,我們會(huì )通過(guò)Windows的自動(dòng)更新功能,或通過(guò)其它工具——比如殺毒軟件的漏洞修復功能,進(jìn)行系統更新。不管通過(guò)什么方法進(jìn)行更新,為了在這些更新失敗后能夠對系統進(jìn)行恢復,在更新前,Windows總是把相關(guān)的老文件作一個(gè)備份,這些備份文件就保存在我們的系統盤(pán)中。當系統成功更新后,這些備份的文件就毫無(wú)用處了,可實(shí)際上,在成功更新后這些備份文件并沒(méi)有被刪除,因此這些文件就成了磁盤(pán)中的垃圾了。試想一下,Windows的不斷更新,會(huì )在我們的磁盤(pán)中保留多少垃圾文件呀! 二、揭開(kāi)這些垃圾的藏身之所 如果要看到這些垃圾文件,我們首先要進(jìn)行以下操作: 在“我的電腦”中,通過(guò)“工具”菜單,打開(kāi)“文件夾選項”,在“查看”選項卡中,選中“顯示所有文件和文件夾”。然后打開(kāi)系統盤(pán)中的Windows文件夾,在這里我們就可以看到很多以“$”開(kāi)頭和結尾的文件夾,比如“$NtUninstallKB943460$”等(也可能還存在以這些文件夾后半部分作為名稱(chēng)的log文件),這些文件夾就是Windows更新所產(chǎn)生的垃圾。檢查一下這些文件夾的總大小,達到GB級別了吧! 那么是不是可以直接刪除這些文件夾呢?我們可以肯定地回答:如果你的計算機在更新后運行一切正常,那么這些文件夾就都可以完全刪除!但要注意,只刪除這些文件夾,還不能完全清理我們的系統。因為Windows在更新時(shí),除了保存這些文件夾,還在注冊表中作了記錄,只有同時(shí)清除注冊表中的相關(guān)記錄,才算是將這些垃圾完全清除了。 在注冊表中和更新有關(guān)的位置有4部分: 1、HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Updates 中的記錄。經(jīng)過(guò)測試,我們發(fā)現這個(gè)位置的記錄被殺毒軟件的漏洞掃描使用,如果刪除了這里面的記錄,就可能會(huì )導致瑞星的漏洞掃描出現錯誤的結果。 2、HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\HotFix 中以KB開(kāi)始的鍵。經(jīng)測試發(fā)現,這里的記錄被Windows的自動(dòng)更新使用,如果刪除了這里的內容,就可能會(huì )影響到Windows自動(dòng)更新。 3、HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\App Management\ARPCache 中以KB開(kāi)始的鍵。這里的內容為Windows系統所用,經(jīng)我們測試,刪除后沒(méi)有影響到Windows的運行,但為了穩妥,暫不建議刪除。 4、HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall 中以KB開(kāi)始的鍵。這里是卸載信息,即在更新失敗后,可以通過(guò)這里的信息,將失敗的更新卸載,以恢復到更新前的狀態(tài)。當正常更新后,這里的信息就沒(méi)有用了,可以刪除。 三、給你一個(gè)工具,自動(dòng)清理 知道了這些垃圾的藏身之所,我們就知道了該怎么清理掉這些垃圾:一要刪除Windows文件夾中的相關(guān)文件夾和log文件,二是要清理注冊表中HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall下相關(guān)的內容。 但要強調兩點(diǎn): 1、要清理這些垃圾的前提是:你的系統在更新后的一段時(shí)間里,不存在和Windows更新相關(guān)的錯誤。 2、隨著(zhù)Windows的不斷更新,就會(huì )不斷產(chǎn)生新的垃圾。清理這種垃圾的工作需要經(jīng)常進(jìn)行。 為了簡(jiǎn)單快速地清理這些垃圾,我編寫(xiě)了一個(gè)批處理文件,您可以將下面的內容,通過(guò)記事本保存為Clrar.bat文件,在需要的時(shí)候,運行這個(gè)文件,就會(huì )自動(dòng)將更新產(chǎn)生的垃圾清除(下面以rem 開(kāi)頭的行是注釋內容,可以不用輸入)。 echo 如果您在最近的Windows系統更新后,系統運行不正常,請按下Ctrl+C終止清理。 pause echo 正在清理注冊表中的相關(guān)內容... rem 建立注冊表清理和log文件清理的子批處理文件 echo @echo off>c:\tmp.bat echo if %%tp:~12,-1%%!==! goto end>>c:\tmp.bat echo echo Windows Registry Editor Version 5.00^>c:\tmp.reg>>c:\tmp.bat echo echo.^>^>c:\tmp.reg>>c:\tmp.bat echo echo [-HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\%%tp:~12,-1%%]^>^>^c:\tmp.reg>>c:\tmp.bat rem 如果要清除注冊表ARPCache項中的內容,那么可以將下面一行前面的兩個(gè)冒號去掉 ::echo echo [-HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\App Management\ARPCache\%%tp:~12,-1%%]^>^>^c:\tmp.reg>>c:\tmp.bat echo regedit /s c:\tmp.reg>>c:\tmp.bat echo if exist %%windir%%\%%tp:~12,-1%%.log del %%windir%%\%%tp:~12,-1%%.log>>c:\tmp.bat echo :end>>c:\tmp.bat rem 檢測要刪除的內容,結果保存到c:\tmp.txt中 dir %windir%\$Nt*$ /b/ad>c:\tmp.txt if not exist c:\tmp.txt goto end rem 調用子批處理文件,將檢測到的內容清理掉 for /f %%v in ('findstr "KB Q" c:\tmp.txt') do ( set tp=%%v call c:\tmp.bat ) rem 清理磁盤(pán)中的文件夾 echo 正在清理文件,可能需要較長(cháng)時(shí)間,清理完畢此窗口會(huì )自動(dòng)關(guān)閉.請等待.... for /f %%i in ('dir %%windir%%\$*$ /b/ad') do rd %windir%\%%i /s/q rem 善后工作 :end if exist c:\tmp.txt del c:\tmp.txt if exist c:\tmp.bat del c:\tmp.bat if exist c:\tmp.reg reg c:\tmp.reg 2011-05-11 來(lái)源:中國IT實(shí)驗室 |
聯(lián)系客服