批处理安装winxp补丁的方法.

hui_hui_2007 2007-06-13 04:03:26

说明:补丁程序放在移动硬盘中的一个盘符里

步骤一:
运行--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,这样一个全自动安装补丁的批处理程序就完成了。

将全部补丁配合安装命令依次加入即可
...全文
1487 10 打赏 收藏 转发到动态 举报
写回复
用AI写文章
10 条回复
切换为时间正序
请发表友善的回复…
发表回复
cds3di 2010-05-19
  • 打赏
  • 举报
回复
dir *-kb*.exe /b /o:n >list1.log
echo scaning...
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
echo start install hotfix...
for /f "eol=o eol=O " %%j in (list.log) do echo installing %%j && %%j /quiet /norestart
echo install done!
hui_hui_2007 2007-06-28
  • 打赏
  • 举报
回复
说明:补丁程序放在移动硬盘中的一个盘符里

步骤一:
运行--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



命令行执行:systeminto > d:\sys.txt

将系统已装补丁存到sys.txt中,

然后从fix.txt中删除在sys.txt中已经存在的补丁列表


然后在fix.txt中通过查找/替换的方式将之修改为:
注意:/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,这样一个全自动安装补丁的批处理程序就完成了。

将全部补丁配合安装命令依次加入即可

ljc007 2007-06-15
  • 打赏
  • 举报
回复
//如何检测一下,只安装没有装过的补丁呢?向大家请教一下.

@echo off
rem 判断已经安装了哪些补丁以避免重复安装
echo 系统已经安装的补丁有:>FixList.txt
for /f "tokens=2 delims=: " %%i in ('systeminfo ^|findstr /c:"KB"')do @echo.%%i>>FixList.txt
hui_hui_2007 2007-06-15
  • 打赏
  • 举报
回复
360安全卫士可以检测!
-------------
当然了,通过360是可以完成,但是我想自已写代码完成.这样更可控些.
andyzgx1 2007-06-15
  • 打赏
  • 举报
回复
360安全卫士可以检测!
hui_hui_2007 2007-06-15
  • 打赏
  • 举报
回复
但是我发的方法,有一个问题没有解决,就是如果这个补丁已经装了,如何办呢?
如何检测一下,只安装没有装过的补丁呢?向大家请教一下.
ranrose 2007-06-14
  • 打赏
  • 举报
回复
xuxi
ljc007 2007-06-13
  • 打赏
  • 举报
回复
@echo off
rem 假设把所有的补丁都放在C:\test文件夹中
set TarDir=C:\test
cd %TarDir%
for %%i in (*.exe) do (
%%i /quiet /passive /norestart /nobackup
)
hui_hui_2007 2007-06-13
  • 打赏
  • 举报
回复
请教楼上,参数 -m 是什么意思呀?
andyzgx1 2007-06-13
  • 打赏
  • 举报
回复
@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

6,871

社区成员

发帖
与我相关
我的任务
社区描述
Windows 2016/2012/2008/2003/2000/NT
社区管理员
  • Windows Server社区
  • qishine
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧