![]() |
中国DOS联盟-- 联合DOS 推动DOS 发展DOS --联盟域名:www.cn-dos.net 论坛域名:www.cn-dos.net/forum |
| 游客 | 登录 | 注册 | 会员 | 搜索 | 中国DOS联盟 |
|
中国DOS联盟论坛 现在时间是 2026-08-05 20:22 |
共 48,039 主题排行 / 350,124 发帖 / 今日 2 篇 / 48,251 会员排行 |
| DOS批处理 & 脚本技术(批处理室) » [已结]如何用批处理修改系统path环境变量 |
| 可打印版本 22,154 / 31 |
| 第1楼 mylovelyqq | 发表于 2006-11-25 09:59 |
| 初级用户 发帖 25 积分 170 | |
|
[已结]如何用批处理修改系统path环境变量 目的: 修改或添加系统path环境变量,如果环境变量中有c:\123,则删除之,如果没有%System32%\qqq则添加该路径.
我在批处理中用regedit /e 或 reg export 导出注册表的HKEY_LOCAL_MACHINE\SYSTEM\ControlSet001\Control\Session Manager\Environment 项,但导出的path是下列方式的16进制数,且有多行: "ComSpec"=hex(2):25...... "Path"=hex(2):25,00,53,00,79,00,73,00,74,00,65,00,6d,00,52,00,6f,00,6f,00,74,\ 00,25,00,5c,00,73,00,79,00,73,00,74,00,65,00,6d,00,33,00,32,00,3b,00,25,00,\ 53,00,79,00,73,00,74,00,65,00,6d,00,52,00,6f,00,6f,00,74,00,25,00,3b,00,25,\ ......... "FP_NO_HOST_CHECK"="NO" "OS"="Windows_NT" "PROCESSOR_ARCHITECTURE"="x86" ........ 请教高手: 1.对导出的注册表项如何只保留其中的path项(多行完整保留) 2.如何修改已有路径和添加新的路径 说明:在cmd中用set path方式得到的路径都绝对路径,而不是注册表中的相对路径.我希望得到相对路径,而且绝对路径好象无法导入注册表中更改path值. [ Last edited by HAT on 2008-10-22 at 09:48 ] |
|
| 第2楼 redtek | 发表于 2006-11-25 11:54 |
| 金牌会员 发帖 1,147 积分 2,902 | |
|
REG QUERY 查出上面的注册表内容是非16进制的,
你还不如用 REG QUERY 查询,查询的内容存到一个文件内(重定向或是For都行), 这不是现成的ASCII码吗?干吗非得要那个16进制的编过码的注册表内容啊?哈哈…… |
|
| 第3楼 mylovelyqq | 发表于 2006-11-25 13:13 |
| 初级用户 发帖 25 积分 170 | |
|
嘿嘿,谢了
|
|
| 第4楼 electronixtar | 发表于 2006-11-26 01:34 |
| 铂金会员 发帖 2,672 积分 7,493 | |
|
path=%path%;D:\My_Path
|
|
| 第5楼 vkill | 发表于 2006-11-26 01:42 |
| 金牌会员 发帖 1,744 积分 4,103 来自 甘肃.临泽 | |
Originally posted by electronixtar at 2006-11-26 01:34: 呵呵,我也是把这个加到autoexec.bat |
|
| 第6楼 mylovelyqq | 发表于 2006-11-26 04:40 |
| 初级用户 发帖 25 积分 170 | |
Originally posted by electronixtar at 2006-11-26 01:34 AM: 第4楼和第5楼的兄弟,你想得也太简单了吧,你运行完你的批处理后看看系统的path环境变量,添加的路径根本就保存不了,只是在你的批处理里有效而已,好好想想吧 |
|
| 第7楼 namejm | 发表于 2006-11-26 06:21 |
| 荣誉版主 发帖 1,737 积分 5,226 来自 成都 | |
|
修改环境变量一般要到注册表里去动手脚,因我对这个也不熟悉,只能点到这个份上了,请注册表方面的高手出马鼎力相助。
|
|
| 第8楼 vkill | 发表于 2006-11-26 06:33 |
| 金牌会员 发帖 1,744 积分 4,103 来自 甘肃.临泽 | |
Originally posted by mylovelyqq at 2006-11-26 04:40: >>c:\autoexec.bat echo path %path%;c:\tools 我这样用的啊~一直是 |
|
| 第9楼 lxmxn | 发表于 2006-11-26 07:13 |
| 版主 发帖 4,938 积分 11,386 | |
|
添加系统环境变量: 环境变量值需要手工输入,导入注册表的,应该是永久的。不知道系统环境变量可容纳的字符是多少,如果容纳的比较小,可能导入不成功,呵呵,我也不知道。 |
|
| 第10楼 mylovelyqq | 发表于 2006-11-29 02:46 |
| 初级用户 发帖 25 积分 170 | |
|
我对 for 命令实在是不熟,不过对 reg query .../v Path导出的值用了一个叫strrpc 1.0的小工具进行了文本替换,还是达到了目的
|
|
| 第11楼 redtek | 发表于 2006-11-29 03:06 |
| 金牌会员 发帖 1,147 积分 2,902 | |
|
Windows Server 2003 自带一个修改用户、系统环境变量并永久生效的工具: SETX.EXE
这个工具已经强大到你可以指定存在于一个文本文件内的(x,y)座标来直接取文本值并设置到环境变量内,并永久生效。 (备注: 下面 SETX 工具的使用说明 下面是这个 SETX.EXE Windows Server 2003自带的环境变量操纵工具的中文使用技巧~:) (备注: 下面使用技巧来自互联网,因COPY时未见标有原作者的记录数据,故原作者名未在下文标注出来。下面文章版权归原作者所有) (注:工具在附件内,请使用前用杀毒软件扫描一遍以确保安全应用) 附件 setx.rar (25.38 KiB) |
|
| 第12楼 ccwan | 发表于 2006-11-29 03:19 |
| 金牌会员 发帖 1,160 积分 2,725 来自 河北廊坊 | |
|
redtek兄总是这么热情,呵呵……
偶来灌水 ![]() |
|
| 第13楼 vkill | 发表于 2006-11-29 07:47 |
| 金牌会员 发帖 1,744 积分 4,103 来自 甘肃.临泽 | |
|
写入autoexec.bat 完全可以啊~至少我03测试是好的
|
|
| 第14楼 mylovelyqq | 发表于 2006-11-29 08:18 |
| 初级用户 发帖 25 积分 170 | |
|
感谢 redtek 提供的 setx,在XP下可以运行,目前还没时间多用.
我用的替换文本的小工具strrpc也特别好用,明儿再上传吧. 另外re vkill 改系统的autoexec.bat可是可以,但我不建议这么做,一是现在很少有人在windows操作系统下去改autoexec.bat,除非是做DOS启动盘,可能很多人都忘了或删除了这个文件. 二是尽量只在一个地方设置系统环境变量,如果在自动批处理和系统的环境变量区都设置了环境变量,以后要添加或修改系统环境变量时就要检查或修改二个地方,给自己的操作带来麻烦,如果有太多重复的路径,说不定系统找个文件还要找半天,嘿嘿,它可不知道哪些路径是相同的. |
|
| 第15楼 vkill | 发表于 2006-11-29 08:23 |
| 金牌会员 发帖 1,744 积分 4,103 来自 甘肃.临泽 | |
Originally posted by mylovelyqq at 2006-11-29 08:18: 兄常改path ???我一般设置两个路径,以后再也不管了,觉得还好了,呵呵~个人爱好 |
|
| 1 2 3 下一页 |
|
[ 联系联盟系统管理团队 -
中国DOS联盟 -
标准版 ] Sponsored by ifanr Inc | © 2001–2023 |