中国DOS联盟

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

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

中国DOS联盟论坛
现在时间是 2026-08-11 22:35
中国DOS联盟论坛 » DOS批处理 & 脚本技术(批处理室) » [环境变量] [已解决] 系统环境变量的刷新 查看 1,226 回复 6
楼 主 [环境变量] [已解决] 系统环境变量的刷新 发表于 2009-05-08 11:02 ·  中国 广东 深圳 联通
新手上路
积分 6
发帖 6
注册 2009-05-06 06:59
17年会员
UID 144480
性别 男
状态 离线
发此贴求high hand有关刷新系统环境变量/用户环境变量的方法,
最好是CMD下纯batch版的.
google 上相近方法有:
taskkill /f /im explorer.exe
start userinit.exe
gpupdate /force /wait:0
RunDll32.exe USER32.DLL,UpdatePerUserSystemParameters
但好像没什么作用,
然后就是用第三方工具(nircmd? PECMD? xset? ...) (有没有尽量不用第三方工具的方法?)
再来就是VB等语言脚本(向操作系统发消息?) (不是很懂)

看看各位有没有什么好招, 初学batch, 还请赐教! 先谢过!

[ Last edited by qqhonker on 2009-5-9 at 02:44 ]
2 发表于 2009-05-08 11:49 ·  中国 重庆 电信
版主
★★★★★
积分 9,023
发帖 5,017
注册 2007-05-31 19:39
19年会员
UID 89899
性别 男
状态 离线
WMIC
3 发表于 2009-05-08 12:03 ·  中国 广东 广州 荔湾区 电信
金牌会员
★★★★
一叶枝头,万树皆春
积分 2,564
发帖 1,127
注册 2006-12-25 22:57
19年会员
UID 74552
性别 男
状态 离线
这要看你是通过什么方式修改了环境变量,不同的修改方法,有不同的后续处理
49206C6F766520796F752067757973 54656C3A3133383238343036373837
4 发表于 2009-05-08 12:23 ·  中国 广东 深圳 联通
新手上路
积分 6
发帖 6
注册 2009-05-06 06:59
17年会员
UID 144480
性别 男
状态 离线
Originally posted by everest79 at 2009-5-8 12:03:
这要看你是通过什么方式修改了环境变量,不同的修改方法,有不同的后续处理


reg add的方式,谢谢!

另外,HAT说的wmic ENVIRONMENT的方法貌似可以试试
5 发表于 2009-05-08 12:40 ·  中国 广东 广州 荔湾区 电信
金牌会员
★★★★
一叶枝头,万树皆春
积分 2,564
发帖 1,127
注册 2006-12-25 22:57
19年会员
UID 74552
性别 男
状态 离线
49206C6F766520796F752067757973 54656C3A3133383238343036373837
6 看看windows xp的帮助 发表于 2009-05-08 22:40 ·  中国 山东 济南 联通
初级用户
积分 23
发帖 15
注册 2009-05-06 22:31
17年会员
UID 144510
性别 男
状态 离线
看看windows xp的帮助,如果登录时允许执行autoexec.bat(xp不了解,2003是默认允许的),我们可以在autoexec.bat中设置环境变量:

将环境变量与 Cmd.exe 一起使用
Cmd.exe 命令行解释器环境由确定命令行解释器和操作系统的行为的变量进行定义。可以使用两种类型的环境变量(系统和本地)来定义命令行解释器环境或整个操作系统环境的行为。系统环境变量定义全局操作系统环境的行为。本地环境变量定义 Cmd.exe 当前实例的环境的行为。

系统环境变量存在于操作系统之中,并可用于所有 Windows XP 进程。只有具有管理特权的用户才可以更改系统变量。这些变量最常用于登录脚本。

只有在为其创建了本地环境变量的用户登录到计算机时,这些本地环境变量才有效。HKEY_CURRENT_USER 配置单元 中设置的本地变量只对当前用户有效,但它们可定义全局操作系统环境的行为。

下表按降序顺序描述各种类型的变量:

内置系统变量
在 HKEY_LOCAL_MACHINE 配置单元中找到的系统变量
在 HKEY_CURRENT_USER 配置单元中找到的局部变量
在 Autoexec.bat 文件中设置的所有环境变量和路径
在登录脚本(如果有的话)中设置的所有环境变量
在脚本和批处理文件中交互使用的变量
在命令行解释器中,Cmd.exe 的每个实例都继承其父应用程序的环境。因此,可以在不影响父应用程序环境的情况下更改新的 Cmd.exe 环境中的变量。


7 发表于 2009-05-09 01:23 ·  中国 广东 深圳 电信
新手上路
积分 6
发帖 6
注册 2009-05-06 06:59
17年会员
UID 144480
性别 男
状态 离线
感谢以上各位,用WMIC已经解决,谢谢!
论坛跳转: