批处理安装winxp补丁的方法.
说明:补丁程序放在移动硬盘中的一个盘符里
步骤一:
运行--cmd--命令行方式--进入补丁所在盘符(比如d盘)则输入:d: --进入补丁所在目录(比如hotfix)则输入:cd \hotfix
--命令 dir /b /o-d > fix.txt
以上命令行的意思是仅提取目录中的所有文件的文件名并将其保存在fix.txt
保存后你会发现第一行是fix.txt,将这行删除就行。
参数 "/b "的意思是不显示文件的头信息及统计信息,参数/o-d 是要求文件名按时间先后顺序进行排序(注意:补丁的安装是有有先后顺序的,必
须先安装旧的再安装新的),接着打开fix.txt,里面的内容大概如下形式:
WindowsXP-KB927802-x86-CHS.exe
WindowsXP-KB928843-x86-CHS.exe
WindowsXP-KB927779-x86-CHS.exe
WindowsXP-KB926436-x86-CHS.exe
WindowsXP-KB924667-x86-CHS.exe
WindowsXP-KB918118-x86-CHS.exe
通过查找/替换的方式将之修改为:
注意:/U /Q /Z 之间必须加上空格
start /wait WindowsXP-KB927802-x86-CHS.exe /U /Q /Z
start /wait WindowsXP-KB928843-x86-CHS.exe /U /Q /Z
start /wait WindowsXP-KB927779-x86-CHS.exe /U /Q /Z
说明:“Start”是Windows系统自带的DOS命令,它的作用是用来调用应用程序的;“/wait”表示启用应用程序并等待其结束,然后再执行下
一个应用程序;参数“/U”表示使用无人参与模式,参数“/Q”表示无用户交互,参数“/Z”表示安装完成时不重新启动计算机。
最后将fix.txt修改为fix.bat,这样一个全自动安装补丁的批处理程序就完成了。
将全部补丁配合安装命令依次加入即可
------解决方案--------------------@ECHO OFF
SETLOCAL
REM ==-------路径请改为实际-------==
SET PATHTOFIXES=E:\soft\xpupdate
REM ==-------OS补丁-------==
%PATHTOFIXES%\WindowsMedia6-KB925398-x86-CHS.EXE -z -m
%PATHTOFIXES%\WindowsXP-KB911280-v2-x86-CHS.EXE -z -m
%PATHTOFIXES%\WindowsXP-KB914388-x86-CHS.EXE -z -m
%PATHTOFIXES%\WindowsXP-KB914389-x86-CHS.EXE -z -m
%PATHTOFIXES%\WindowsXP-KB916595-x86-CHS.EXE -z -m
------解决方案--------------------@echo off
rem 假设把所有的补丁都放在C:\test文件夹中
set TarDir=C:\test
cd %TarDir%
for %%i in (*.exe) do (
%%i /quiet /passive /norestart /nobackup
)
------解决方案--------------------//如何检测一下,只安装没有装过的补丁呢?向大家请教一下.
@echo off
rem 判断已经安装了哪些补丁以避免重复安装
echo 系统已经安装的补丁有:> FixList.txt
for /f "tokens=2 delims=: " %%i in ( 'systeminfo ^|findstr /c: "KB " ')do @echo.%%i> > FixList.txt