用户变量与系统变量
用户变量只对当前用户有效,而系统变量对所有用户有效。在检索命令时,系统变量会排在用户变量的前面。也就是说,如果两个地方都包含同一个命令,则优先执行系统变量指示路径下的命令。
set path = %path%;D:\Java 只对当前命令行窗口有效。
修改Windows环境变量,不重启就生效的方法
在我的电脑属性中的环境变量设置后,点击确定,在cmd里面通过path命令查看环境变量,有时候,它还没有生效,不会显示在path中。原因是,
解决方法:以修改path变量为例子,在高级设置里面修改后,进入win+R->cmd启动dos命令提示符,设置 set PATH=C,其他什么设置环境变量的命令都可以,关闭dos窗口,再次打开dos窗口,输入path,查看环境变量,可以得知,在我的电脑->属性->高级->环境变量中的PATH值已经生效。
解决原理:dos窗口中修改的环境变量,只是修改系统环境变量的一个副本,不会相互影响。但是,对副本的修改会引发windows环境变量的刷新,这正是我们想要的。进一步解释,当一个程序启动的时候,环境变量被复制到该程序所在的环境中,在该程序执行过程中,不会被除了该程序以外的其他程序所改变。也就是说,假如我们启动了一个cmd程序,然后控制面板修改了环境变量的设置,该cmd所拥有的环境变量并不会被改变,此时,重新启动一个cmd程序,该程序的环境变量会被改变。
结论:修改环境变量,如果受影响的是应用程序,那么只需要重启该程序即可生效。如果受影响的是系统服务,就必须重启电脑才能将环境变量的修改反映到系统服务中。