![]() |
中国DOS联盟-- 联合DOS 推动DOS 发展DOS --联盟域名:www.cn-dos.net 论坛域名:www.cn-dos.net/forum |
| 游客 | 登录 | 注册 | 会员 | 搜索 | 中国DOS联盟 |
|
中国DOS联盟论坛 现在时间是 2026-09-15 12:22 |
共 47,812 主题排行 / 349,917 发帖 / 今日 0 篇 / 48,268 会员排行 |
| DOS批处理 & 脚本技术(批处理室) » 怎么写一个自动完成系统环境变量添加的脚本 |
| 可打印版本 9,107 / 19 |
| 第16楼 HUNRYBECKY | 发表于 2006-12-27 22:56 |
| 银牌会员 发帖 442 积分 1,179 | |
|
经过多次实验表明:使用AUTOEXEC.BAT的确能添加变量,添加的变量不会写入注册表中的相关项,同时也不会出现在"我的电脑"中的用户和系统变量列表中,但是这些变量是可以发挥作用的,我使用AUTOEXEC.BAT添加LANG=CHS后proe可以从英文版本变成中文版,把LANG=EN可变成英文了,哈哈,真有意思,我添加了SET PATH=E:\ACAD2000;E:\ACAD2000\Autodesk Shared;变量后我的绿色AUTOCAD就再也不出现找不到路径的提示了,说明autoexec.bat中的变量的确是个好东西。
|
|
| 第17楼 alucifer | 发表于 2006-12-28 01:23 |
| 新手上路 发帖 5 积分 12 | |
|
非常感谢hunrybecky , 我这也试验成功了。
|
|
| 第18楼 qzwqzw | 发表于 2006-12-28 21:47 |
| 银牌会员 发帖 636 积分 2,343 | |
|
注册表中的PATH是sz还是expand_sz,具体取决于环境变量的取值
如果环境变量中嵌套引用环境变量,则必须使用expand_sz,否则使用二者都是可以的 xp下autoexec的问题搜索以前的帖子看看吧 http://www.cn-dos.net/forum/viewthread.php?tid=17155&fpage=1&highlight= |
|
| 第19楼 HUNRYBECKY | 发表于 2006-12-28 22:38 |
| 银牌会员 发帖 442 积分 1,179 | |
Originally posted by qzwqzw at 2006-12-28 21:47: 根据兄的观点,我去查了一些资料和对比了注册表,发现好象也不是很准确,MS给的解释是这样的:REG_SZ 表示长度固定的文本字符串;而REG_EXPAND_SZ 表示长度可变的数据字符串,这种数据类型包括程序或服务使用该数据时解析的变量。 见http://support.microsoft.com/kb/256986/。 按照MS的解释那么程序或服务使用的路径都应该使用REG_EXPAND_SZ 类型,但是我把用户的环境变量TEMP设置成REG_SZ也可以同样解析到,我就有点不懂,谁能给一个比较完整合理的解释呢? 还有,我对注册表的这个两个类型的数据进行了对比,发现一般固定的文本都使用的是REG_SZ,而只要使用了带%%变量的路径都使用的是REG_EXPAND_SZ,也许这就是所谓的固定和不固定吧. |
|
| 第20楼 HUNRYBECKY | 发表于 2006-12-28 22:42 |
| 银牌会员 发帖 442 积分 1,179 | |
|
刚才又找到一些资料,这里是这样解释的,比较合理:
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 |
|
| 上一页 1 2 |
|
[ 联系联盟系统管理团队 -
中国DOS联盟 -
标准版 ] Sponsored by ifanr Inc | © 2001–2023 |