【转】windows7 修改环境变量 和 用不用重启电脑的讨论

 

原文:http://www.cnblogs.com/zhenmingliu/archive/2013/02/21/2921396.html

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

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

附注:

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

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

经常看到一些软件的安装说明上写着,修改Windows的环境变量,然后重新启动计算机。这让人不禁产生疑问,修改环境变量之后真的要重启吗? 其实只要理解了环境变量的原理就可以做出正确的判断。环境变量是一些系统变量,这些变量对运行的任意一个程序都有效。最简单的确认方法就是 cmd.exe 程序。单击“开始”->“运行”,然后输入 cmd,回车,在启动的命令行窗口中输入 set,之后就可以看到一大堆各种各样的环境变量显示在屏幕上。而修改环境变量则是通过“控制面板”->“系统”->“高级”->“环境变量”对话框进行的。 这里要理解的是,一个程序启动时,环境变量被复制到该程序所在的环境中,在该程序执行过程中不会被除该程序以外的其他程序所改变。也就是说,假设我们启动了一个cmd程序,然后通过控制面板修改了环境变量设置,但是已经启动了的cmd所拥有的环境变量并不会被改变。如果我们在修改环境变量之后启动cmd程序,则该程序将拥有新的环境变量。 那么结论就很明显了:修改环境变量之后,如果受影响的是应用程序,那么只要简单地重新启动此应用程序,环境变量的修改就会反映到该程序中,而不必重新启动计算机;但是,如果受影响的是系统服务,就必须重新启动才能将环境变量的修改反映到系统服务中(因为没有办法在不重启计算机的情况下重新启动系统服务管理器)。

原文地址:https://www.cnblogs.com/lyongerr/p/5083273.html