Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/windows/14.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Windows路径-为什么要永久扩展变量_Windows_Path_Expand - Fatal编程技术网

Windows路径-为什么要永久扩展变量

Windows路径-为什么要永久扩展变量,windows,path,expand,Windows,Path,Expand,我对PATH语句或DOS并不陌生,我知道变量替换是如何工作的。我在一台计算机上遇到意外行为。所有服务器均使用Windows 7 x64或Windows 2008 x64服务器R2 在所有系统上,路径都包含其他环境变量。这是我所期望的。但是,在一个Windows7企业版上,PATH语句被更改为永久扩展变量。以下是一个示例,来自: 这适用于所有系统,但一个除外: 系统变量 ANT_HOME=C:\dev\ant JAVA_HOME=C:\dev\java MAVEN_HOME=C:\dev\mave

我对PATH语句或DOS并不陌生,我知道变量替换是如何工作的。我在一台计算机上遇到意外行为。所有服务器均使用Windows 7 x64或Windows 2008 x64服务器R2

在所有系统上,路径都包含其他环境变量。这是我所期望的。但是,在一个Windows7企业版上,PATH语句被更改为永久扩展变量。以下是一个示例,来自:

这适用于所有系统,但一个除外:

系统变量

ANT_HOME=C:\dev\ant
JAVA_HOME=C:\dev\java
MAVEN_HOME=C:\dev\maven
PATH=[standard Windows paths go here];%JAVA_HOME%\bin;%ANT_HOME%\bin;%MAVEN_HOME%\bin
在一个系统中,当我在Environment Variables窗口中更改PATH变量时,它最终会更改为完全扩展的值。我不是指在DOS提示符下运行时,我指的是Windows中更改这些设置的位置

我还没有弄清楚是什么导致了这种变化。这样就不可能轻松地将XXX_HOME值之一切换到其他版本,并期望路径接收更新。如果Windows总是这样工作,我会理解,但为什么只在一个系统上


有没有什么想法或是什么原因导致了这种情况?有没有其他人经历过这种情况?

可能有一些第三方软件在相关系统上运行,正在干扰路径。你有没有检查过只安装在这一个系统上而没有安装在其他系统上的应用程序?哈利-是的,我有。我怀疑是CCleaner,但在重新设置路径之后!强制它运行有一个清理PATH变量的选项,它仍然可以。这似乎是我最后的选择——每隔几个小时检查一次,等待修改。感谢您的建议。您可以让Process Monitor在MS网站上运行,以查找对环境密钥的写入。这将告诉您哪个可执行文件负责更改。