您的位置:首页 > 其它

批处理自动安装Windows补丁

2007-09-27 12:38 483 查看
    批处理自动安装Windows补丁

截至2007年9月,对于Win2000+SP4+IE6,需安装85个安全补丁;对于WinXP+SP2,需安装74个安全补丁。如果以手工GUI方式为Windows OS打补丁,操作时间太长,而且容易遗漏。所以用批处理是一个更好的选择。

关键词: Windows,patch,dos,2000,XP,bat,安全,补丁, 漏洞, 视窗,批处理,自动

Bat文件的内容:

@set /p input="Do you want to install patches for windows 2000? Pls make sure that win2000's patches are in current directory (y|n)"
@if /i "%input%"=="y" (goto :PATCH) else (goto :END)
@REM ------------------------------------------------------------
@REM Function: Installing patches for windows .
@REM Written by Lujj.   2007-09-29
@REM ------------------------------------------------------------

@REM other option 1: Windows2000*CHS.exe and IE6*CHS.exe WindowsMedia*CHS.exe

@REM other option 2: WindowsXP*CHS.exe and WindowsMedia*CHS.exe

:PATCH
@set /a ccount=0
@set pw2klog=c:/pw2ktxt.log

@echo ----------------------------------------------------- >>%pw2klog%
@echo %date% %time%  && @echo %date% %time% >>%pw2klog%
@echo ::Install the folllowing patches:  && @echo ::Install the folllowing patches: >>%pw2klog%

@FOR  %%F IN (*KB*CHS.exe) DO @(  ((@set /a ccount+=1) && (@echo ** %%F) && (@echo ** %%F >>%pw2klog%))  &&  ((@findstr _SFX_CAB_EXE_PATH "%%F" >nul && @start /wait %%F /U /q /Z) || (@start /wait %%F) && (@echo ::--GUI--) && (@echo ::--GUI-- >>%pw2klog%) )  )

@echo :: && @echo :: >>%pw2klog%
@echo ::Count: %ccount% && @echo ::Count: %ccount% >>%pw2klog%
@echo %date% %time%  && @echo %date% %time% >>%pw2klog%
@echo :: && @echo :: >>%pw2klog%
@echo Pls restart system ASAP.
@pause

:END 

使用方法:建一个目录,比如e:/apw;把上面的程序保存到文件,比如e:/apw/apw.bat;把windows的补丁拷到这个目录下。执行bat,程序将按顺序逐个安装补丁,最后提示重启机器。程序日志保留在c:/pw2ktxt.log,记录了起止时间和补丁文件名列表。

测试情况:已在windows2000+SP4+IE6及WindowsXP+SP2中文版上通过测试。只用10分钟,就在虚拟机上安装完85个win2000补丁。在一台2002年的机器上安装XP安全补丁,用时60分钟。

本程序不检测windows是否已打过补丁,请自行检查。如果重复安装补丁,没有发现错误异常,会多用一些时间。如果只想安装近期的补丁,则只保留近期的补丁文件在本目录,移走其它补丁文件。 
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息