PATH中的环境variables未扩展到非pipe理员命令提示符?

我有一台Windows 7机器,当命令提示符由普通用户运行时,无法扩展%PATH%中的环境variables。 如果命令提示符以pipe理员身份运行(右键单击, 以pipe理员身份运行 ),则%PATH%被适当扩展。

具体来说, cmd.exe运行的用户(通过set path显示)的%PATH%如下所示:

 Path=%SystemRoot%\system32;%SystemRoot%;%SystemRoot%\Wbem;%SYSTEMROOT\System32\WindowsPowerShell\v1.0\;C:\Program Files\Microsoft Windows Performance Toolkit\ 

…而cmd.exe以pipe理员身份运行的%PATH%如下所示:

 Path=C:\WINDOWS\system32;C:\WINDOWS;C:\WINDOWS\Wbem;%SYSTEMROOT\System32\WindowsPowerShell\v1.0\;C:\Program Files\Microsoft Windows Performance Toolkit\ 

我尝试以新用户身份login以创build新configuration文件,问题仍然存在于该configuration文件中。 HKEY_CURRENT_USER\Environment\PATH不存在,并且HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session Manager\Environment\Path与“计算机属性 – >环境variables”中定义的系统范围path相匹配。

有没有人有任何想法,这可能是什么,或者我可以看看?

两件事我可以尝试。

  1. 运行一个sfc /scannow ,看看是否可以解决更大的问题。
  2. 检查registry中的HKLM\SYSTEM\CurrentControlSet\Control\Session Manager\EnvironmentPath键。 什么types的 它应该说REG_EXPAND_SZ

我尝试configurationMaven时遇到了同样的问题…

我在超级用户身上发现了这个post,这个post说明了这个问题,但是对我没有帮助。 这个问题似乎是关于权限提升,因为一个pipe理员shell将工作,但用户shell不会。 我最终决定只是将用户variables重新创build为系统variables,并将其添加到全局path中。

这工作了几个variables,但我有一对仍然不能扩大。 我用几个新名字重新创build了它们,但是没有成功。 但是,在禁用UAC,重新启动,重新启用UAC并重新启动后,variables最终在用户shell中正确扩展。

问题 :我的问题只是相似的,因为我正确地理解你。 我的“path”包含…;%ANT_HOME%\ bin; …我正确设置了系统(不是用户)variables正确设置variablesANT_HOME和CMD – > SET相同“echo%ANT_HOME%”打印正确。

解决scheme :通过将文件夹从c:\ dev \ 3rd \ ant …移动 c:** Programm文件(x86)** \ dev \ 3rd \ ant解决了这个问题。