环境变量不生效,echo %PATH%和实际值不一样的问题(彻底解决)
win11环境变量对不上,折腾半天,终于尝试了所有方法找到原因
一、打开cmd ,输入echo %PATH% 查看变量详情,如下
这里我们可以看到实际上电脑的环境变量。下面是编辑环境变量弹窗里面的:
这时候发现,实际环境变量和框内的值不一样(图中是修改过的)
二、解决方法(按可能性排序,最难查到的是第4点)
-
在编辑完环境变量后,一定要点确定直到环境变量框关闭,才会生效。
-
环境变量是有优先级的,比如我有两个java.exe,一个在%JAVA_HOME%\bin下,一个在D:\soft\VM\bin\ 下,那么,你实际要用的那个必须上移到第一位,才会生效。如图:
-
不生效的时候,打开cmd,输入set PATH=c,这个并不是网上说的更新的意思,而是将当前cmd窗口的环境变量变成字符串c,再退出cmd,想要实现重新读取环境变量的意思。
所以步骤就是可以set PATH=c后关闭窗口,重新开个cmd再echo %PATH%。 -
上面3步过后,环境变量窗口改的值还是不生效,寻找之下,发现是有缓存脚本的,打开注册表编辑器(win+r,输入regedit),寻找路径计算机\HKEY_CURRENT_USER\Software\Microsoft\Command Processor ,下面有个Autorun的属性,该路径就是你本机自动赋值环境变量的脚本,可以选择把文件里面都注释掉(rem是cmd脚本的注释),也可删掉那个文件,set PATH=c或重启电脑后,你需要的环境变量就生效了。
- 相信万能重启,重启电脑,重装系统(bushi)。。。
打假之风盛行,台海风雨再起,一切都在走向美好的未来。
PS:比较难理解为什么有这种脚本的存在。