这是一个创建于 721 天前的主题,其中的信息可能已经有所发展或是发生改变。
系统变量配置如下:
path 中添加%JAVA_HOME%\bin ;
JAVA_JOME=%JAVA_HOME_ORACLE_8%;
JAVA_HOME_ORACLE_8=D:\java\xxx.
echo %path%中的%JAVA_HOME%可以正常解析为 D:\java\xxx 。
但是同样在系统变量中配置:
path 中添加%P_HOME%;
P_HOME=%P_HOME_37%
P_HOME_37=D:\p\xxx
echo %path%中的%P_HOME%就没有被正常解析,还是%P_HOME%。
path 中的%P_HOME%改为%P_HOME_37%时,就会被正确解析为 D:\p\xxx
这样的问题在 2 台 win11 的机子上都出现了,网上也搜不出个所以然。
有老哥知道为什么会出现这个问题吗?
1 条回复 • 2023-03-06 11:03:45 +08:00
 |
|
1
ysc3839 2023-03-06 11:03:45 +08:00 via Android 1
Windows 的环境变量是存在注册表里的,而注册表有个特性是展开环境变量,需要项目类型是 REG_EXPAND_SZ 时才会展开,你手动创建的环境变量在注册表中的类型不是 REG_EXPAND_SZ ,所以不会展开。 另外需要注意的是,REG_EXPAND_SZ 不代表注册表会自动展开,这个类型只是告诉读取的应用程序需要进行展开,程序后续怎么处理是程序的事。
|