中国DOS联盟论坛

中国DOS联盟

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

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

游客:  注册 | 登录 | 命令行 | 会员 | 搜索 | 上传 | 帮助 »
中国DOS联盟论坛 » DOS批处理 & 脚本技术(批处理室) » 让98补丁包自动安装的批处理如何写?
作者:
标题: 让98补丁包自动安装的批处理如何写? 上一主题 | 下一主题
雨露
管理员

DOS非常爱好者


积分 6209
发帖 2598
注册 2006-1-20
状态 离线
『楼 主』:  让98补丁包自动安装的批处理如何写?

我下了中文版的Windows98 SE的全部补丁,可是一个一个安装太吃力了,记得XP的补丁可以通过批处理一次性的自动完成,98SE可以吗?



2006-8-12 21:19
查看资料  发短消息 网志  OICQ (156647374)  编辑帖子  回复  引用回复
namejm
荣誉版主

batch fan


积分 5226
发帖 1737
注册 2006-3-10
来自 成都
状态 离线
『第 2 楼』:  

  不知道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没商量。
考虑问题复杂化,解决问题简洁化。
2006-8-15 15:15
查看资料  发短消息 网志   编辑帖子  回复  引用回复
fastslz
铂金会员

DOS一根葱


积分 5493
发帖 2315
注册 2006-5-1
来自 上海
状态 离线
『第 3 楼』:  

补充说明
Windows安装包都有几乎都有无人参与安装命令的包括.msi
*.exe /quiet /norestart /n
*.exe /quiet /passive /norestart /nobackup
/quiet          安静模式
/passive       无从参与模式
/norestart    安装完成后不重新启动
/nobackup   不备份卸载需要的文件

Xplode外挂方式安装比较通用的参数/q /o /n /z

2006-8-15 16:40
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
tinytiger
新手上路





积分 8
发帖 4
注册 2006-10-3
状态 离线
『第 4 楼』:  

正需要,好好学习一下。

2006-10-3 09:39
查看资料  发短消息 网志  OICQ (359513992)  编辑帖子  回复  引用回复
tinytiger
新手上路





积分 8
发帖 4
注册 2006-10-3
状态 离线
『第 5 楼』:  

我找到了更简洁的代码:
@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 )

2006-10-7 04:18
查看资料  发短消息 网志  OICQ (359513992)  编辑帖子  回复  引用回复

请注意:您目前尚未注册或登录,请您注册登录以使用论坛的各项功能,例如发表和回复帖子等。


可打印版本 | 推荐给朋友 | 订阅主题 | 收藏主题



论坛跳转: