天下网吧 >> 网吧天地 >> 网吧技术 >> 网吧系统 >> 正文

清理Windows操作系统更新产生的垃圾

2013-3-5悠虎悠虎

68271">

  三、给你一个工具,自动清理

  知道了这些垃圾的藏身之所,我们就知道了该怎么清理掉这些垃圾:一要删除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


本文来源:悠虎 作者:悠虎

声明
声明:本站所发表的文章、评论及图片仅代表作者本人观点,与本站立场无关。若文章侵犯了您的相关权益,请及时与我们联系,我们会及时处理,感谢您对本站的支持!联系email:support@txwb.com,系统开号,技术支持,服务联系QQ:1175525021本站所有有注明来源为天下网吧或天下网吧论坛的原创作品,各位转载时请注明来源链接!
天下网吧·网吧天下
  • 本周热门
  • 本月热门
  • 阅读排行