中国DOS联盟论坛

中国DOS联盟

-- 联合DOS 推动DOS 发展DOS --
联盟域名:www.cn-dos.net 论坛域名:www.cn-dos.net/forum
游客 | 登录 | 注册 | 会员 | 搜索 | 中国DOS联盟
中国DOS联盟论坛
现在时间是 2026-08-05 03:22
48,038 主题排行 / 350,123 发帖 / 今日 0 篇 / 48,251 会员排行
DOS批处理 & 脚本技术(批处理室) » for 安装winxp补丁怎样才能实现选择安装
可打印版本  775 / 2
第1楼 wwggd 发表于 2007-06-21 21:07
新手上路 发帖 5 积分 16
for 安装winxp补丁怎样才能实现选择安装
下载了好多补丁用for命令安装系统补丁怎样才能实现安装过程中不安装以前已经安装过的补丁?请大家指教~~
第2楼 wwggd 发表于 2007-06-23 20:59
新手上路 发帖 5 积分 16
难道没人知道??还是问题太菜了~~期待高人!!
第3楼 andyli 发表于 2007-06-27 00:48
新手上路 发帖 6 积分 12
仅供参数,补丁的文件名如:
WindowsXP-KB886185-x86-chs.exe
WindowsXP-KB904706-v2-x86-CHS.exe
WindowsMedia9-KB917734-x86-CHS.exe

仍有点问题:
WindowsMedia9-KB911565-x86-CHS.exe
WindowsMedia-KB911564-x86-CHS.exe
这两个补丁不能测出来,每次都会安装。

继续找更好的方法。

@echo off
if "%1"=="" goto _s
if "%1"=="t" goto _t
if "%1"=="r" goto _r

:_s
systeminfo >c:\systeminfo.log
dir *.exe /a/b/on >c:\list.log
set /a total=0
set /a current=0

for /f %%i in (c:\list.log) do call %0 t

for /f "delims=- tokens=2" %%j in (c:\list.log) do call %0 r %%j

set total=
set current=
del c:\systeminfo.log /f
del c:\list.log /f
echo 安装补丁完成!!
goto _end

:_t
set /a total=%total%+1
goto _end

:_r
for %%k in (*%2*.exe) do set ccmd=%%k

set /a current=%current%+1
echo 当前完成度:%current%/%total%
echo 正在安装:%ccmd%...

type c:\systeminfo.log | find /i "%2"
if %errorlevel%==1 %ccmd% /u /q /z /n

:_end
[ 联系联盟系统管理团队 - 中国DOS联盟 - 标准版 ]
Sponsored by ifanr Inc | © 2001–2023