xiaowuhello
【系统补丁】系统补丁自动安装批处理方法(转载)

Windows崩溃了,重新安装系统是容易的事情,但是最烦人最浪费时间的要数重新手工一个一个的打那一两百个的系统补丁。如果每次补丁出来都下载了存在特定目录,以后下载就不用费力了,但是安装却费力。虽然360等提供了自动扫描、下载和安装补丁的方法,这里推荐一个批处理自动安装补丁的方法,可以一解烦恼,前提是要先下载所有需要安装的补丁文件。

代码如下:

-----------------------------------------------------------------

@echo off

::关闭显示信息

cls

echo ================================================

del list.log /q

::删除上次运行后留下的文件

dir *-kb*.exe /b /o:n >list1.log

::将补丁文件按照名字排列存放在list1.log文件里

for /f "delims=- tokens=2" %%i in (list1.log) do REG QUERY "HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\HotFix\%%i" || dir /b *%%i*.exe >>list.log

::从list1.log文件中取出一个补丁的名字,截取中间的补丁标号(如KB873339),到注册表查询这个是否已经安装了,没有就将其存放到list.log文件里

echo 现在开始安装补丁

for /f "eol=o eol=O " %%j in (list.log) do echo 正在安装补丁%%j && %%j /quiet /norestart

::从list.log文件中取出一个补丁的名字,利用参数(/quiet /norestart)进行安装无人安装

echo 恭喜你,补丁程序安装完毕

echo 安装了的补丁(list.log):& type list.log | more

::显示安装了的补丁的列表,more是用来防止补丁过多,分屏显示用的

pause

::暂停让别人看列表

del list1.log /q

::删除使用过的list1.log文件

set /p YN=是否重新启动电脑,以使更改立即生效,强烈建议重新启动电脑[Y/N]?

if "%YN%" == "N" goto :EOF

if "%YN%" == "n" goto :EOF

shutdown -r -t 0

goto :EOF

----------------------------------------------------------------

新建立一个记事本文件,将上面代码拷贝到文件中存为AutoUpdate.bat,放到下载的所有补丁文件夹中,运行即可自动所有安装补丁了

轻松批处理自动安装大量系统补丁

有时候系统重装后需要再安装补丁,恰好遇见补丁下载慢的情况很多

这几天研究了用DOS批处理安装的办法

我的补丁放在D盘下 bd文件夹里面

运行CMD

命令

dir/b Z:\bd>a.txt

意思是仅提取"d:\bd"目录中的所有文件的文件名并将其保存在a.txt

参数"/b"的意思是不显示文件的头信息及统计信息

然后打开a.txt

如下形式

WindowsXP-KB913580-x86-CHS.exe

WindowsXP-KB911567-x86-CHS.exe

WindowsXP-KB908531-v2-x86-CHS.exe

WindowsXP-KB911562-x86-CHS.exe

然后改为(可以替换)

start /wait Z:\bd\WindowsXP-KB920214-x86-CHS.exe /U /Q /Z

start /wait Z:\bd\WindowsXP-KB920670-x86-CHS.exe /U /Q /Z

start /wait Z:\bd\WindowsXP-KB920683-x86-CHS.exe /U /Q /Z

exit

说明:“Start”是Windows系统自带的DOS命令,它的作用是用来调用应用程序的;“/wait”表示启用应用程序并等待其结束,然后再执行下一个应用程序;参数“/U”表示使用无人参与模式,参数“/Q”表示无用户交互,参数“/Z”表示安装完成时不重新启动计算机。

该为.bat格式

运行就可以了

转载