中国DOS联盟

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

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

中国DOS联盟论坛
现在时间是 2026-07-31 22:32
中国DOS联盟论坛 » DOS批处理 & 脚本技术(批处理室) » [已结]如何用批处理修改系统path环境变量 查看 22,109 回复 31
16 发表于 2007-04-06 13:37 ·  中国 广东 深圳 宝安区 电信
初级用户
积分 20
发帖 10
注册 2007-04-06 06:20
19年会员
UID 84144
性别 男
状态 离线
我寻觅已久的信息.终于有点眉目了
网络真好
17 发表于 2007-07-05 14:53 ·  中国 北京 歌华宽带
新手上路
积分 2
发帖 1
注册 2007-07-05 14:03
19年会员
UID 93217
性别 男
状态 离线
hao
18 发表于 2007-09-17 16:18 ·  澳大利亚 Telstra全球互联网服务网络
新手上路
积分 2
发帖 1
注册 2007-09-17 15:49
18年会员
UID 97627
性别 男
状态 离线
对不起! 我是新手来! 我打算创作一个 batch file. 内里要求在 当前的PATH 中加入 J:\Lotus\Notes\Data 便可以. 请问有冇师兄帮忙

由 J:\Domino\Data;%SystemRoot%\system32;%SystemRoot%;%SystemRoot%\System32\Wbem;C:\Program Files\Support Tools\;C:\Program Files\QuickTime\QTSystem\

J:\Domino\Data;%SystemRoot%\system32;%SystemRoot%;%SystemRoot%\System32\Wbem;C:\Program Files\Support Tools\;C:\Program Files\QuickTime\QTSystem\;J:\Lotus\Notes\Data
19 发表于 2007-12-01 22:04 ·  中国 广东 湛江 电信
新手上路
积分 2
发帖 1
注册 2007-12-01 21:43
18年会员
UID 104383
性别 男
状态 离线
很好
20 发表于 2007-12-02 01:38 ·  中国 重庆 九龙坡区 电信
版主
★★★★★
积分 9,023
发帖 5,017
注册 2007-05-31 19:39
19年会员
UID 89899
性别 男
状态 离线
Originally posted by next45 at 2007-9-17 04:18 PM:
对不起! 我是新手来! 我打算创作一个 batch file. 内里要求在 当前的PATH 中加入 J:\Lotus\Notes\Data 便可以. 请问有冇师兄帮忙

由 J:\Domino\Data;%SystemRoot%\system32;%SystemRoot%;%SystemRoot%\System32\Wbem;C:\Program Files\Support Tools\;C:\Program Files\QuickTime\QTSystem\

J:\Domino\Data;%SystemRoot%\system32;%SystemRoot%;%SystemRoot%\System32\Wbem;C:\Program Files\Support Tools\;C:\Program Files\QuickTime\QTSystem\;J:\Lotus\Notes\Data

@echo off
reg add "HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session Manager\Environment" /v Path /t REG_EXPAND_SZ /d "%path%;J:\Lotus\Notes\Data" /f
21 发表于 2007-12-04 01:09 ·  中国 浙江 杭州 联通
初级用户
积分 42
发帖 17
注册 2005-08-28 14:49
20年会员
UID 42027
状态 离线

@echo off
Set /p Paths=输入你要添加的"Path"路径,多个路径用";"隔开:
Set Regfile=HKLM\SYSTEM\CurrentControlSet\Control\Session Manager\Environment
For /f "tokens=3" %%i in ('Reg Query "%Regfile%" /v path^|Find /i "REG_EXPAND_SZ"') Do Set Pathf=%%i
Reg add "%Regfile%" /v path /t REG_EXPAND_SZ /d %Pathf%;%Paths% /f>nul
22 发表于 2008-03-11 18:39 ·  中国 云南 昆明 电信
新手上路
积分 2
发帖 1
注册 2007-02-28 12:24
19年会员
UID 80402
性别 男
状态 离线
我也想试试
23 发表于 2008-05-26 13:57 ·  中国 辽宁 联通
初级用户
积分 44
发帖 20
注册 2006-12-09 12:44
19年会员
UID 73048
性别 男
状态 离线
好东西,一定要顶
24 发表于 2008-05-26 15:36 ·  中国 上海 杨浦区 电信
高级用户
★★★
积分 916
发帖 377
注册 2004-03-08 00:00
22年会员
UID 19523
性别 男
状态 离线
哎在java教学中也是老有人乱改path系统变量然后导致很多程序加载有问题。可是这个setx看半天就是没有追加功能只有替换功能,这样就导致有点麻烦。
25 发表于 2008-07-04 19:51 ·  中国 上海 联通
新手上路
积分 2
发帖 1
注册 2008-07-04 19:10
18年会员
UID 121100
性别 男
状态 离线
我也正在搞这个问题 想试试看setx
我用wimc 修改过环境变量 但是无法立刻生效
26 发表于 2008-07-04 20:56 ·  美国 惠普HP
版主
★★★★★
积分 9,023
发帖 5,017
注册 2007-05-31 19:39
19年会员
UID 89899
性别 男
状态 离线
wmic修改环境变量是可以马上生效的,是不是你的命令写错了?贴出来看看?
27 发表于 2008-07-06 16:04 ·  中国 广东 江门 联通
初级用户
积分 42
发帖 13
注册 2007-08-03 23:26
18年会员
UID 94610
性别 男
状态 离线
1.用pathman

pathman /rs "c:\123"
pathman /as "C:\WINDOWS\system32\qqq"

pathman /as J:\Lotus\Notes\Data

2. 用WMIC

WMIC /PRIVILEGES:ENABLE ENVIRONMENT where name='PATH' set VariableValue="%PATH%;J:\Lotus\Notes\Data"
28 修改注册表增删环境变量,是否需要重启操作系统 发表于 2008-10-22 08:29 ·  中国 广东 深圳 电信
新手上路
积分 1
发帖 1
注册 2008-10-22 08:05
17年会员
UID 129006
性别 男
状态 离线
之前我也是用reg add/delete去修改注册表(在bat脚本中),来添加或删除环境变量,但是发现,加完之后,不能即时生效,需要重启操作,不知道有没有不用重启OS的方法。
29 Re 28楼 发表于 2008-10-22 09:48 ·  美国 惠普HP
版主
★★★★★
积分 9,023
发帖 5,017
注册 2007-05-31 19:39
19年会员
UID 89899
性别 男
状态 离线
wmic ENVIRONMENT where "name='path' and username='<system>'" set VariableValue="%path%;C:\test"
30 发表于 2008-10-22 09:54 ·  中国 江西 赣州 安远县 电信
银牌会员
★★★★
积分 2,025
发帖 1,122
注册 2007-09-05 20:15
18年会员
UID 96653
性别 男
状态 离线
之前我也是用reg add/delete去修改注册表(在bat脚本中),来添加或删除环境变量,但是发现,加完之后,不能即时生效,需要重启操作,不知道有没有不用重启OS的方法。


可以用命令行工具 NirCmd 刷新环境变量:
NirCmd sysrefresh environment

或使用修改环境变量的工具,如 pathman
http://upload.cn-dos.net/img/989.rar
论坛跳转: