中国DOS联盟

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

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

中国DOS联盟论坛
现在时间是 2026-08-06 00:25
中国DOS联盟论坛 » DOS批处理 & 脚本技术(批处理室) » [请教]win2000很老的补丁不能用批处理安装?? 查看 1,826 回复 19
16 发表于 2007-09-29 14:44 ·  中国 上海 浦东新区 电信
初级用户
积分 39
发帖 18
注册 2007-01-05 20:34
19年会员
UID 75537
性别 男
状态 离线
经测试成功!!!

请wudixin96高人能简要说一下原理。每条都是指行了什么,谢谢!!
17 发表于 2007-09-29 14:50 ·  中国 天津 电信
银牌会员
★★★
积分 1,928
发帖 931
注册 2007-01-06 11:46
19年会员
UID 75624
性别 男
状态 离线
原理是通过判断num变量来执行相应的补丁

如果num等于0,说明补丁的参数形式是:/passive /norestart /norestart
18 发表于 2007-09-29 14:53 ·  中国 上海 浦东新区 电信
初级用户
积分 39
发帖 18
注册 2007-01-05 20:34
19年会员
UID 75537
性别 男
状态 离线
setlocal enabledelayedexpansion
if !num!==0 %%i /passive /norestart /norestart
endlocal

能解释一下吗?
19 发表于 2007-09-29 15:02 ·  中国 天津 电信
银牌会员
★★★
积分 1,928
发帖 931
注册 2007-01-06 11:46
19年会员
UID 75624
性别 男
状态 离线
因为在for里,变量要启用延迟,所以就用到了setlocal enabledelayedexpansion

如果不启用延迟的话,num变量永远等于初值的。
20 发表于 2007-09-29 15:25 ·  中国 上海 浦东新区 电信
初级用户
积分 39
发帖 18
注册 2007-01-05 20:34
19年会员
UID 75537
性别 男
状态 离线
谢谢!!又热心又是高人!!祝好人一生平安!!
论坛跳转: