无忧启动论坛
标题:
系统补丁自安装程序 和IE升级的 批处理
[打印本页]
作者:
x9tian
时间:
2012-11-9 21:53
标题:
系统补丁自安装程序 和IE升级的 批处理
用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^
@echo off&color 2f&set "title=title 系统补丁自安装程序BY_x9tian"
setlocal enabledelayedexpansion
!title!
pushd %~dp0
dir *-*-*.exe >nul 2>nul&&goto %title:~-8,2%
set /p lg=目录不存在系统补丁,请把补丁文件夹拖放到本窗口-->
set lg=!lg:"=!
>"!lg!\%~nx0" type "%~0"
start /b "" "!lg!\%~nx0"
exit
:Y_
for /f "tokens=3" %%i in ('reg query "HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Internet Explorer" /v Version ^|more +4') do set "version=%%i"
call :%title:~-3,1%e%version:~0,1%
call :%title:~0,1%f%title:~-3,1%%title:~-6,1%
if exist ielist.dat (
>>list.dat type ielist.dat&&del /a/q ielist.dat
)
::kb
rem 查找KB类系统补丁
for /f %%i in ('dir /a-d/b/o:n *-kb*-*.exe 2^>nul^|findstr /v /G:list.dat') do (
echo.开始安装%%i..
%%i -norestart -quiet -overwriteoem
)
rem 查找Q/q类补丁
for /f %%i in ('dir /a-d/b/o:n *-Q*-*.exe 2^>nul^|findstr /v /G:list.dat') do (
echo.开始安装Q类补丁%%i...
%%i -Q -o -Z
)
echo.&echo.以上为本次安装补丁...
echo.&echo.======您可能遇到以下情况======
echo.&echo.多次运行本程序却有几个补丁始终打不上
echo.&echo. A: 私自修改批处理添加了-nobackup参数.
echo. 某些微软增值业务补丁本身不支持此参数造成补丁无法打成功
echo.&echo. B: IE补丁与IE版本不合,请删除重下载.
echo. 本批处理是优先升级IE主程序.低版本IE时打的补丁可能不适应于高版本IE
echo. 例:IE6的kb2586448不能打到IE8上.
pause
:clear
rem 清理为未带NOBACKUP参数 残留的备份文件.
for /f %%i in ('dir /ad/b %windir%\$*$ ^|find /v "$hf_mig$"') do (
del /a/q/f/s %windir%\%%i\*.*
rd /s /q "%windir%\%%i"
)
del /a/q list.dat >nul 2>nul %windir%\kb*.log %windir%\Q*.log
exit
:tfix
(
for /f "tokens=*" %%i in ('reg query "hklm\software\microsoft\windows NT\currentversion\hotfix" ^|more +4') do (
for /f "delims=-_" %%a in ("%%~nxi") do echo.%%a
)
)>list.dat
goto :eof
:ie6
if exist IE7-WindowsXP-%PROCESSOR_ARCHITECTURE%-chs.exe (
echo. 检测到您的系统存再IE升级程序,将开始升级IE并重启机打补丁&echo.&pause
echo.&echo. 正在安装IE7...
if exist IE8-WindowsXP-%PROCESSOR_ARCHITECTURE%-CHS.exe (
IE7-WindowsXP-%PROCESSOR_ARCHITECTURE%-chs.exe /passive /update-no /norestart
dir /a-d/b ie6-*.exe ie7-*.exe>ielist.dat
echo.&echo.安装IE8...
IE8-WindowsXP-%PROCESSOR_ARCHITECTURE%-CHS.exe/passive /update-no /forcerestart
) else (
IE7-WindowsXP-%PROCESSOR_ARCHITECTURE%-chs.exe /passive /update-no /forcerestart
)
)
goto :eof
:ie7
if exist IE8-WindowsXP-%PROCESSOR_ARCHITECTURE%-CHS.exe (
echo.&echo.屏敝IE6/IE7及其更新补丁...
dir /a-d/b ie6-*.exe ie7-*.exe>ielist.dat
echo. 检测到您的系统存再IE升级程序,将开始升级IE并重启机打补丁&echo.&pause
IE8-WindowsXP-%PROCESSOR_ARCHITECTURE%-CHS.exe /passive /update-no /forcerestart
)
goto :eof
:ie8
::为NT6系统留的坑,有带完善.
goto :eof
复制代码
IE7安装程序下载
IE8安装程下载
[
本帖最后由 x9tian 于 2012-11-9 22:34 编辑
]
欢迎光临 无忧启动论坛 (http://bbs.wuyou.net/)
Powered by Discuz! X3.3