windows更新产生的垃圾清理方法
发布时间:2013-03-06 11:28:20 作者:佚名
我要评论

本文将详细介绍下如何清理Windows更新产生的垃圾;在注册表中和更新有关的位置有4部分,需使用相关工具进行深度清理,感兴趣的你可以参考下本文或许对你有所帮助
一、磁盘清理不清理的系统垃圾
使用电脑的人都有这样的感觉:虽然并没有安装什么程序,但是磁盘的可用空间却越来越小。要清理磁盘垃圾,最安全的方法就是使用windows提供的磁盘清理工具:打开“我的电脑”,然后在驱动器上右击鼠标,通过“属性”对话框中的“磁盘清理”进行清理。但我们会发现,使用这种清理后,磁盘的可用空间并没有扩大多少。所以我们完全有理由怀疑:只用这种清理,并不能把我们的磁盘中的垃圾都清除掉。
其实,在我们的磁盘中,有一个Windows的磁盘清理程序不清理的,占用空间巨大的垃圾,这就是Windows系统更新所产生的垃圾文件。
为了系统的安全,我们会通过Windows的自动更新功能,或通过其它工具——比如杀毒软件的漏洞修复功能,进行系统更新。不管通过什么方法进行更新,为了在这些更新失败后能够对系统进行恢复,在更新前,Windows总是把相关的老文件作一个备份,这些备份文件就保存在我们的系统盘中。当系统成功更新后,这些备份的文件就毫无用处了,可实际上,在成功更新后这些备份文件并没有被删除,因此这些文件就成了磁盘中的垃圾了。试想一下,Windows的不断更新,会在我们的磁盘中保留多少垃圾文件呀!
二、揭开这些垃圾的藏身之所
如果要看到这些垃圾文件,我们首先要进行以下操作:
在“我的电脑”中,通过“工具”菜单,打开“文件夹选项”,在“查看”选项卡中,选中“显示所有文件和文件夹”。然后打开系统盘中的Windows文件夹,在这里我们就可以看到很多以“$”开头和结尾的文件夹,比如“$NtUninstallKB943460$”等(也可能还存在以这些文件夹后半部分作为名称的log文件),这些文件夹就是Windows更新所产生的垃圾。检查一下这些文件夹的总大小,达到GB级别了吧!
那么是不是可以直接删除这些文件夹呢?我们可以肯定地回答:如果你的计算机在更新后运行一切正常,那么这些文件夹就都可以完全删除!但要注意,只删除这些文件夹,还不能完全清理我们的系统。因为Windows在更新时,除了保存这些文件夹,还在注册表中作了记录,只有同时清除注册表中的相关记录,才算是将这些垃圾完全清除了。
在注册表中和更新有关的位置有4部分:
1、HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Updates 中的记录。经过测试,我们发现这个位置的记录被瑞星等杀毒软件的漏洞扫描使用,如果删除了这里面的记录,就可能会导致瑞星的漏洞扫描出现错误的结果。
2、HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\HotFix 中以KB开始的键。经测试发现,这里的记录被Windows的自动更新使用,如果删除了这里的内容,就可能会影响到Windows自动更新。
3、HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\App Management\ARPCache 中以KB开始的键。这里的内容为Windows系统所用,经我们测试,删除后没有影响到Windows的运行,但为了稳妥,暂不建议删除。
4、HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall 中以KB开始的键。这里是卸载信息,即在更新失败后,可以通过这里的信息,将失败的更新卸载,以恢复到更新前的状态。当正常更新后,这里的信息就没有用了,可以删除。
三、给你一个工具,自动清理
知道了这些垃圾的藏身之所,我们就知道了该怎么清理掉这些垃圾:一要删除Windows文件夹中的相关文件夹和log文件,二是要清理注册表中HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall下相关的内容。 但要强调两点:
1、要清理这些垃圾的前提是:你的系统在更新后的一段时间里,不存在和Windows更新相关的错误。
2、随着Windows的不断更新,就会不断产生新的垃圾。清理这种垃圾的工作需要经常进行。
为了简单快速地清理这些垃圾,我编写了一个批处理文件,您可以将下面的内容,通过记事本保存为Clrar.bat文件,在需要的时候,运行这个文件,就会自动将更新产生的垃圾清除(下面以rem 开头的行是注释内容,可以不用输入)。
echo 如果您在最近的Windows系统更新后,系统运行不正常,请按下Ctrl+C终止清理。
pause
echo 正在清理注册表中的相关内容...
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项中的内容,那么可以将下面一行前面的两个冒号去掉
::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 清理磁盘中的文件夹
echo 正在清理文件,可能需要较长时间,清理完毕此窗口会自动关闭.请等待....
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
使用电脑的人都有这样的感觉:虽然并没有安装什么程序,但是磁盘的可用空间却越来越小。要清理磁盘垃圾,最安全的方法就是使用windows提供的磁盘清理工具:打开“我的电脑”,然后在驱动器上右击鼠标,通过“属性”对话框中的“磁盘清理”进行清理。但我们会发现,使用这种清理后,磁盘的可用空间并没有扩大多少。所以我们完全有理由怀疑:只用这种清理,并不能把我们的磁盘中的垃圾都清除掉。
其实,在我们的磁盘中,有一个Windows的磁盘清理程序不清理的,占用空间巨大的垃圾,这就是Windows系统更新所产生的垃圾文件。
为了系统的安全,我们会通过Windows的自动更新功能,或通过其它工具——比如杀毒软件的漏洞修复功能,进行系统更新。不管通过什么方法进行更新,为了在这些更新失败后能够对系统进行恢复,在更新前,Windows总是把相关的老文件作一个备份,这些备份文件就保存在我们的系统盘中。当系统成功更新后,这些备份的文件就毫无用处了,可实际上,在成功更新后这些备份文件并没有被删除,因此这些文件就成了磁盘中的垃圾了。试想一下,Windows的不断更新,会在我们的磁盘中保留多少垃圾文件呀!
二、揭开这些垃圾的藏身之所
如果要看到这些垃圾文件,我们首先要进行以下操作:
在“我的电脑”中,通过“工具”菜单,打开“文件夹选项”,在“查看”选项卡中,选中“显示所有文件和文件夹”。然后打开系统盘中的Windows文件夹,在这里我们就可以看到很多以“$”开头和结尾的文件夹,比如“$NtUninstallKB943460$”等(也可能还存在以这些文件夹后半部分作为名称的log文件),这些文件夹就是Windows更新所产生的垃圾。检查一下这些文件夹的总大小,达到GB级别了吧!
那么是不是可以直接删除这些文件夹呢?我们可以肯定地回答:如果你的计算机在更新后运行一切正常,那么这些文件夹就都可以完全删除!但要注意,只删除这些文件夹,还不能完全清理我们的系统。因为Windows在更新时,除了保存这些文件夹,还在注册表中作了记录,只有同时清除注册表中的相关记录,才算是将这些垃圾完全清除了。
在注册表中和更新有关的位置有4部分:
1、HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Updates 中的记录。经过测试,我们发现这个位置的记录被瑞星等杀毒软件的漏洞扫描使用,如果删除了这里面的记录,就可能会导致瑞星的漏洞扫描出现错误的结果。
2、HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\HotFix 中以KB开始的键。经测试发现,这里的记录被Windows的自动更新使用,如果删除了这里的内容,就可能会影响到Windows自动更新。
3、HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\App Management\ARPCache 中以KB开始的键。这里的内容为Windows系统所用,经我们测试,删除后没有影响到Windows的运行,但为了稳妥,暂不建议删除。
4、HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall 中以KB开始的键。这里是卸载信息,即在更新失败后,可以通过这里的信息,将失败的更新卸载,以恢复到更新前的状态。当正常更新后,这里的信息就没有用了,可以删除。
三、给你一个工具,自动清理
知道了这些垃圾的藏身之所,我们就知道了该怎么清理掉这些垃圾:一要删除Windows文件夹中的相关文件夹和log文件,二是要清理注册表中HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall下相关的内容。 但要强调两点:
1、要清理这些垃圾的前提是:你的系统在更新后的一段时间里,不存在和Windows更新相关的错误。
2、随着Windows的不断更新,就会不断产生新的垃圾。清理这种垃圾的工作需要经常进行。
为了简单快速地清理这些垃圾,我编写了一个批处理文件,您可以将下面的内容,通过记事本保存为Clrar.bat文件,在需要的时候,运行这个文件,就会自动将更新产生的垃圾清除(下面以rem 开头的行是注释内容,可以不用输入)。
echo 如果您在最近的Windows系统更新后,系统运行不正常,请按下Ctrl+C终止清理。
pause
echo 正在清理注册表中的相关内容...
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项中的内容,那么可以将下面一行前面的两个冒号去掉
::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 清理磁盘中的文件夹
echo 正在清理文件,可能需要较长时间,清理完毕此窗口会自动关闭.请等待....
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
相关文章
电脑如何清除运行窗口历史记录? Windows系统清除运行窗口历史记录的技
winodws的命令行界面是一个不错的快捷方式,我们只需要通过"win+r"就可以调用运行命令,随着时间的累积,我们这里会积累下不少历史命令,有泄露隐私的风险,所以2025-04-17电脑锁屏壁纸怎么固定不变? Windows系统锁定桌面背景图的方法
最近就有不少用户想要锁定电脑的桌面背景图,但不清楚具体如何操作,其实方法非常简单,详细请看下文介绍2025-04-17怎么关闭windows索引器? Windows系统禁用索引器回退功能的技巧
使用Windows系统中的搜索功能都是在索引功能的基础上建立的,因此,若想要加快搜索索引速度,就要把系统中的索引器回退功能设置为禁用,详细请看下文介绍2025-04-17微软应用商店无法打开怎么办? 0x80248014错误的原因分析与解决方案
近有不少小伙伴反映,Windows 10自带的微软商店怎么都打不开,显示0x80248014错误错误代码,下面我们就来看看详细解决方案2025-04-16Windows系统如何关闭自动维护功能? 关闭自动维护轻松提升电脑性能
最近有不少用户想关闭其中的自动维护功能,但不清楚具体如何操作,下面我们就来看看Windows系统关闭自动维护功能的操作方法2025-04-15微软发布多个 OOB 更新: 用于修复 Active Directory 组策略 Bug
微软发布多个 OOB 更新用于修复 Active Directory 组策略 Bug,该问题具体表现为:当设备已启用 "审核登录 / 注销事件" 功能且实际生效时,本地组策略编辑器或本2025-04-14定期扫描病毒功能有什么用? Windows系统开启定期扫描病毒功能的技巧
定期扫描病毒功能可以很好的帮助我们电脑定义清理病毒,很多小伙伴都不知道在那里设置进行使用,该怎么开启这个功能呢?详细请看下文介绍2025-04-01Windows如何设置麦克风增强? Windows系统麦克风权限开启全攻略
麦克风功能作为日常沟通和娱乐的重要工具,其表现尤为关键,然而,不少windows用户发现麦克风的声音偏小,影响了使用体验,下面我们就来看看Windows系统设置麦克风增强功能2025-04-01- 关闭VBS功能可以释放部分系统资源,提高系统性能和游戏流畅度,windows系统该怎么关闭vbs功能呢?下面我们就来看看详细教程2025-04-01
Windows Server 2025安装 Hyper-V Docker 容器的图文教程
Hyper-V 容器是 Windows Server 2025 中的一项强大功能,今天我们就来介绍如何在 Windows Server 2025 上安装、配置和运行容器主机,并下载运行一个 IIS 容器2025-03-27
最新评论