无忧启动论坛

 找回密码
 注册
搜索
系统gho:最纯净好用系统下载站投放广告、加入VIP会员,请联系 微信:wuyouceo
查看: 2671|回复: 0
打印 上一主题 下一主题

[分享] 系统补丁自安装程序 和IE升级的 批处理

[复制链接]
跳转到指定楼层
1#
发表于 2012-11-9 21:53:09 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
用WINDOS200 XP 03  (WIN7 、WIN8一直没用,所以没写后半部份)

主要用于安装微软系统的三大类补丁 ( KB Q q)和IE 升级。及清理

读取注册表的补丁注册信息,智能安装, 不会,像网上流传的那些,不管有没有一顿乱敲 见东西就安。


好处,不论能不能通过微软反盗版认证, 都能升级到IE8 ,并流畅运行。
使用方法:

将要安装的补丁, 和IE 7 IE 8  升级程序放在 批处理同目录下。 它自动读取注册表判定IE 版本,和未安装的补丁。


(如果你是WIN7,你可以手动修改下面的批处理加上IE9 10什么的)



注意事项:
IE6升IE 8 要运行两次(第一次它会优先升级IE主程序然后重启电脑,也就是说真正的补丁你还一个都没有敲上去)

经验分享:
IE 6  升级到IE 8  时, 一定要先安装IE 7  别直截升IE8。不然使用起来你就会知道什么叫“用户体验” 什么理由我说不出,但用着顺不顺心我自己心里清楚。
(把IE7 IE8都放在批处理同目录它会知道选后顺序)
IE 8安装后 设置时,没通过反盗版认证的系统,不要选择快速设置,要选手动设置,最好别勾选自动更新,你懂的。
系统装过“数字安全卫士”的,建议别升IE8 ,你也懂的。(不把IE升级包丢在补丁目录或本文件目录就不会升级)
本批处理是优先升级IE主程序.低版本IE时打的补丁可能不适应于高版本IE
例:IE6的kb2586448不可能打到IE8上  

因为是读取注册表安装的所以,存在的补丁没打上,一般就是版本不对或者根本不须要安装的。

以下是批处理,
在子程序跳转上进行了一点点设定。为什么。。为什么。。。因为我无聊 ^0^
  1. @echo off&color 2f&set "title=title 系统补丁自安装程序BY_x9tian"
  2. setlocal enabledelayedexpansion
  3. !title!
  4. pushd %~dp0
  5. dir *-*-*.exe >nul 2>nul&&goto %title:~-8,2%
  6. set /p lg=目录不存在系统补丁,请把补丁文件夹拖放到本窗口-->
  7. set lg=!lg:"=!
  8. >"!lg!\%~nx0" type "%~0"
  9. start /b "" "!lg!\%~nx0"
  10. exit
  11. :Y_
  12. for /f  "tokens=3" %%i in ('reg query "HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Internet Explorer" /v Version ^|more +4') do set "version=%%i"
  13. call :%title:~-3,1%e%version:~0,1%
  14. call :%title:~0,1%f%title:~-3,1%%title:~-6,1%
  15. if exist ielist.dat (
  16. >>list.dat type ielist.dat&&del /a/q ielist.dat
  17. )
  18. ::kb
  19. rem 查找KB类系统补丁
  20. for /f %%i in ('dir /a-d/b/o:n *-kb*-*.exe 2^>nul^|findstr /v /G:list.dat') do (
  21. echo.开始安装%%i..
  22. %%i  -norestart -quiet -overwriteoem
  23. )
  24. rem 查找Q/q类补丁
  25. for /f %%i in ('dir /a-d/b/o:n *-Q*-*.exe 2^>nul^|findstr /v /G:list.dat') do (
  26. echo.开始安装Q类补丁%%i...
  27. %%i  -Q -o -Z
  28. )
  29. echo.&echo.以上为本次安装补丁...
  30. echo.&echo.======您可能遇到以下情况======
  31. echo.&echo.多次运行本程序却有几个补丁始终打不上
  32. echo.&echo. A: 私自修改批处理添加了-nobackup参数.
  33. echo. 某些微软增值业务补丁本身不支持此参数造成补丁无法打成功
  34. echo.&echo. B: IE补丁与IE版本不合,请删除重下载. 
  35. echo. 本批处理是优先升级IE主程序.低版本IE时打的补丁可能不适应于高版本IE
  36. echo. 例:IE6的kb2586448不能打到IE8上.
  37. pause
  38. :clear
  39. rem 清理为未带NOBACKUP参数 残留的备份文件.
  40. for /f %%i in ('dir /ad/b %windir%\$*$ ^|find /v "$hf_mig$"') do (
  41. del /a/q/f/s %windir%\%%i\*.*
  42. rd /s /q "%windir%\%%i"
  43. )
  44. del /a/q list.dat >nul 2>nul %windir%\kb*.log  %windir%\Q*.log
  45. exit
  46. :tfix
  47. (
  48. for /f "tokens=*" %%i in ('reg query "hklm\software\microsoft\windows NT\currentversion\hotfix" ^|more +4') do (
  49. for /f "delims=-_" %%a in ("%%~nxi") do echo.%%a
  50. )
  51. )>list.dat
  52. goto :eof
  53. :ie6
  54. if exist IE7-WindowsXP-%PROCESSOR_ARCHITECTURE%-chs.exe (
  55. echo. 检测到您的系统存再IE升级程序,将开始升级IE并重启机打补丁&echo.&pause
  56. echo.&echo. 正在安装IE7...
  57. if exist IE8-WindowsXP-%PROCESSOR_ARCHITECTURE%-CHS.exe (
  58.   IE7-WindowsXP-%PROCESSOR_ARCHITECTURE%-chs.exe /passive /update-no /norestart
  59.   dir /a-d/b ie6-*.exe ie7-*.exe>ielist.dat
  60.   echo.&echo.安装IE8...
  61.   IE8-WindowsXP-%PROCESSOR_ARCHITECTURE%-CHS.exe/passive /update-no /forcerestart
  62. ) else (
  63.   IE7-WindowsXP-%PROCESSOR_ARCHITECTURE%-chs.exe /passive /update-no /forcerestart
  64. )
  65. )
  66. goto :eof
  67. :ie7
  68. if exist IE8-WindowsXP-%PROCESSOR_ARCHITECTURE%-CHS.exe (
  69.   echo.&echo.屏敝IE6/IE7及其更新补丁...
  70.   dir /a-d/b ie6-*.exe ie7-*.exe>ielist.dat
  71.   echo. 检测到您的系统存再IE升级程序,将开始升级IE并重启机打补丁&echo.&pause
  72.   IE8-WindowsXP-%PROCESSOR_ARCHITECTURE%-CHS.exe /passive /update-no /forcerestart
  73. )
  74. goto :eof
  75. :ie8
  76. ::为NT6系统留的坑,有带完善.
  77. goto :eof
复制代码
IE7安装程序下载
IE8安装程下载

[ 本帖最后由 x9tian 于 2012-11-9 22:34 编辑 ]
您需要登录后才可以回帖 登录 | 注册

本版积分规则

小黑屋|手机版|Archiver|捐助支持|无忧启动 ( 闽ICP备05002490号-1 )

闽公网安备 35020302032614号

GMT+8, 2024-11-28 13:55

Powered by Discuz! X3.3

© 2001-2017 Comsenz Inc.

快速回复 返回顶部 返回列表