中国DOS联盟论坛

中国DOS联盟

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

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

游客:  注册 | 登录 | 命令行 | 会员 | 搜索 | 上传 | 帮助 »
中国DOS联盟论坛 » DOS批处理 & 脚本技术(批处理室) » 怎么写一个自动完成系统环境变量添加的脚本
« [1] [2] »
作者:
标题: 怎么写一个自动完成系统环境变量添加的脚本 上一主题 | 下一主题
HUNRYBECKY
银牌会员





积分 1179
发帖 442
注册 2006-9-9
状态 离线
『第 16 楼』:  

经过多次实验表明:使用AUTOEXEC.BAT的确能添加变量,添加的变量不会写入注册表中的相关项,同时也不会出现在"我的电脑"中的用户和系统变量列表中,但是这些变量是可以发挥作用的,我使用AUTOEXEC.BAT添加LANG=CHS后proe可以从英文版本变成中文版,把LANG=EN可变成英文了,哈哈,真有意思,我添加了SET PATH=E:\ACAD2000;E:\ACAD2000\Autodesk Shared;变量后我的绿色AUTOCAD就再也不出现找不到路径的提示了,说明autoexec.bat中的变量的确是个好东西。

2006-12-27 22:56
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
alucifer
新手上路





积分 12
发帖 5
注册 2006-12-27
状态 离线
『第 17 楼』:  

非常感谢hunrybecky , 我这也试验成功了。

2006-12-28 01:23
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
qzwqzw
银牌会员

天的白色影子


积分 2342
发帖 635
注册 2004-3-6
状态 离线
『第 18 楼』:  

注册表中的PATH是sz还是expand_sz,具体取决于环境变量的取值

如果环境变量中嵌套引用环境变量,则必须使用expand_sz,否则使用二者都是可以的

xp下autoexec的问题搜索以前的帖子看看吧

http://www.cn-dos.net/forum/view ... ge=1&highlight=

2006-12-28 21:47
查看资料  发短消息 网志   编辑帖子  回复  引用回复
HUNRYBECKY
银牌会员





积分 1179
发帖 442
注册 2006-9-9
状态 离线
『第 19 楼』:  



  Quote:
Originally posted by qzwqzw at 2006-12-28 21:47:
注册表中的PATH是sz还是expand_sz,具体取决于环境变量的取值

如果环境变量中嵌套引用环境变量,则必须使用expand_sz,否则使用二者都是可以的

xp丠...

根据兄的观点,我去查了一些资料和对比了注册表,发现好象也不是很准确,MS给的解释是这样的:REG_SZ 表示长度固定的文本字符串;而REG_EXPAND_SZ 表示长度可变的数据字符串,这种数据类型包括程序或服务使用该数据时解析的变量。 见http://support.microsoft.com/kb/256986/
按照MS的解释那么程序或服务使用的路径都应该使用REG_EXPAND_SZ 类型,但是我把用户的环境变量TEMP设置成REG_SZ也可以同样解析到,我就有点不懂,谁能给一个比较完整合理的解释呢?

还有,我对注册表的这个两个类型的数据进行了对比,发现一般固定的文本都使用的是REG_SZ,而只要使用了带%%变量的路径都使用的是REG_EXPAND_SZ,也许这就是所谓的固定和不固定吧.

2006-12-28 22:38
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
HUNRYBECKY
银牌会员





积分 1179
发帖 442
注册 2006-9-9
状态 离线
『第 20 楼』:  

刚才又找到一些资料,这里是这样解释的,比较合理:
REG_SZ
REG_SZ代表一个简单的文本字符串,它是注册表中最常见的一种数据类型,在字符串编辑器对话框中可以输入许多类型的信息,如名称、路径、标题或说明文字等。REG_SZ也可以是一个数字,例如可用来表示RGB颜色色码,或者版本号等其他类型的信息。

REG_EXPAND_SZ
代表一个可扩展的字符串。其编辑器和标准REG_SZ字符串编辑类似,只是在变量用法上有所差异。在REG_EXPAND_SZ编辑器中输入变量时,系统会将它当作变量看待。激活此变量时,会显示变量的具体值。
例如在对话框中的“%SYSTEMROOT%”是一个变量名,激活它之后,会返回到Windows XP所在的目录。
http://www.pcdog.com/book/html/20041025/25102004325_1.htm

2006-12-28 22:42
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
« [1] [2] »
请注意:您目前尚未注册或登录,请您注册登录以使用论坛的各项功能,例如发表和回复帖子等。


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



论坛跳转: