让环境变量生效不需重启Windows

很多安装程序在安装完成后并不要求重启Windows,而新的环境变量已经生效了,可见在不重启Windows的情况下让环境变量生效是完全可行的。

可我搜索如何不需重启Windows让环境变量生效的方法,只找到三类方案:

  1. 下载一个专门的软件
  2. 编个小程序
  3. 修改注册表

我既然是个懒得重启Windows的人,难道我会不厌其烦按上述三种方法去做吗?没办法,我只有自己摸索。最后找到一个非常简单的在Windows下直接让环境变量生效的办法:

先到我的电脑>属性>高级>环境变量,添加新环境变量或修改已有的环境变量,然后运行“DOS命令提示符”或run cmd,假设要修改PATH变量,不管PATH的原值是什么,在DOS窗口直接把PATH修改为任意值,关闭DOS窗口,这时,我的电脑>属性>高级>环境变量里PATH已经在Windows全局生效了。

不用担心在DOS窗口的修改会影响我的电脑>属性>高级>环境变量里的修改,DOS窗口的环境变量只是Windows环境变量的一个副本,副本的改动不会影响正本,但会触发正本的刷新,这正是我想要的——让环境变量生效。

附注:

不懂在DOS下修改环境变量?简单得很,如要修改PATH,“SET PATH=C:\”,等号两边不要有空格。PATH环境变量最常用,专门有个DOS命令PATH,用来查看和修改PATH值,这里就不展开讲PATH的语法了。

想验证一下环境变量到底有没有生效?简单得很,新开一个DOS窗口,如要看PATH值,“ECHO %PATH%”。同上,PATH还可以用PATH命令来查看。

11 comments

  1. 对这篇文章的疑问:

    在“我的电脑>属性>高级>环境变量”中修改是会立即生效的。(我用的是XP sp2)
    用“SET PATH=C:\”刷新我还以为有用呢,我修改注册表后使用这个命令,结果还是不会变。

    利用wmic修改是直接生效的:(e:\tools 是新添加的目录)
    wmic ENVIRONMENT where “name=’path’ and username=”” set VariableValue=”%path%e:\tools”

  2. 谢谢
    用户环境变量设置马上生效。
    全局环境变量以前只会重启,嘿嘿,学习了。

  3. 谢谢你告诉我,我还停留在很久以前的 windows xp。vista 和 windows 7 没有机会用,现在连 xp 也不太用了。

  4. 为什么我在Windows7下不行呢?不知道各位有没有搞清楚,主要是原装的Path定义是%SystemRoot%;C:\Windows;%SystemRoot%\Wbem;%SystemRoot%\WindowsPowerShell\v1.0,带%SystemRoot%这样的变量,这个时候,你进入DOS,看到Path还是%SystemRoot%,如果正常情况下,必须变成C:\Windows\System32,你们有没有常识访问C:\Windows\System32?

Leave a comment

Your email address will not be published. Required fields are marked *