中国DOS联盟

-- 联合DOS 推动DOS 发展DOS --

联盟域名:www.cn-dos.net 论坛域名:www.cn-dos.net/forum
DOS,代表着自由开放与发展,我们努力起来,学习FreeDOS和Linux的自由开放与GNU精神,共同创造和发展美好的自由与GNU GPL世界吧!

中国DOS联盟论坛
现在时间是 2026-08-02 03:37
中国DOS联盟论坛 » DOS批处理 & 脚本技术(批处理室) » 让98补丁包自动安装的批处理如何写? 查看 1,649 回复 4
楼 主 让98补丁包自动安装的批处理如何写? 发表于 2006-08-12 21:19 ·  中国 浙江 台州 电信
管理员
★★★★
DOS非常爱好者
积分 6,215
发帖 2,601
注册 2006-01-20 13:00
20年会员
UID 49256
状态 离线
我下了中文版的Windows98 SE的全部补丁,可是一个一个安装太吃力了,记得XP的补丁可以通过批处理一次性的自动完成,98SE可以吗?
2 发表于 2006-08-15 15:15 ·  中国 四川 成都 鹏博士宽带
荣誉版主
★★★★
batch fan
积分 5,226
发帖 1,737
注册 2006-03-10 00:38
20年会员
UID 51697
来自 成都
状态 离线
  不知道98的补丁文件名是啥模样,网上搜索了一通,发现了一段代码比较有用,修改之后,得到如下代码,不知道能不能在98下成功运行:

@echo off
goto begin

把本脚本放在补丁目录下直接运行
注意:补丁目录下的1 2 3 4文件夹将被全新创建,请保证这四个文件夹内没有重要资料
本脚本主体代码来源于网络,jm于2006-8-15进行了部分修改
号称for 98/ME/2000/XP/2003
只测试了XP和2003的系统

:begin
title 系统补丁自动安装程序
color 1f
md 1 2 3 4 >nul 2>nul
for %%i in (*.exe) do (
(echo %%i|findstr "updfile">nul 2>nul && move %%i 1) || (
echo %%i|findstr "_sfx_cab_exe_package">nul 2>nul && move %%i 2) || (
echo %%i|findstr "update.exe">nul 2>nul && move %%i 3) || (
echo %%i|findstr "_sfx_cab_exe_path">nul 2>nul && move %%i 4)
)
If not exist *.exe (goto auto_install) else (goto list)
:list
echo.
echo ========================================================
echo.
for %%i in (*.exe) do echo %%i 需要手动安装
echo.
echo ========================================================
echo.
echo 当可自动安装的补丁安装完毕之后,请手动安装上述补丁
:auto_install
echo.
echo ========================================================
echo.
echo 所有可自动安装的补丁已经被分别放在 目录 1 2 3 4 中。
echo.
echo 按任意键继续...
pause>nul
cd /d 1
for %%i in (*.exe) do start /wait %%i /q
cd /d 2
for %%i in (*.exe) do start /wait %%i /passive /norestart /o /n
cd /d 3
for %%i in (*.exe) do start /wait %%i -n -o -z
cd /d 4
for %%i in (*.exe) do start /wait %%i /passive /norestart /o /n


[ Last edited by namejm on 2006-11-17 at 04:36 PM ]
尺有所短,寸有所长,学好CMD没商量。
考虑问题复杂化,解决问题简洁化。
3 发表于 2006-08-15 16:40 ·  中国 上海 松江区 电信
铂金会员
★★★★
DOS一根葱
积分 5,493
发帖 2,315
注册 2006-05-01 10:41
20年会员
UID 54766
性别 男
来自 上海
状态 离线
补充说明
Windows安装包都有几乎都有无人参与安装命令的包括.msi
*.exe /quiet /norestart /n
*.exe /quiet /passive /norestart /nobackup
/quiet 安静模式
/passive 无从参与模式
/norestart 安装完成后不重新启动
/nobackup 不备份卸载需要的文件

Xplode外挂方式安装比较通用的参数/q /o /n /z
4 发表于 2006-10-03 09:39 ·  中国 山东 东营 联通
新手上路
积分 8
发帖 4
注册 2006-10-03 05:37
19年会员
UID 64382
状态 离线
正需要,好好学习一下。
5 发表于 2006-10-07 04:18 ·  中国 山东 东营 联通
新手上路
积分 8
发帖 4
注册 2006-10-03 05:37
19年会员
UID 64382
状态 离线
我找到了更简洁的代码:
@echo off
goto begain

:begain
color 1f
FOR /R %%F IN (.\*.exe) DO @((@findstr _SFX_CAB_EXE_PATH "%%F" >nul && @start /wait %%F /Quiet /Norestart /Nobackup)|| @start /wait %%F )
论坛跳转: