我有一台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相匹配。
有没有人有任何想法,这可能是什么,或者我可以看看?
两件事我可以尝试。
sfc /scannow
,看看是否可以解决更大的问题。 HKLM\SYSTEM\CurrentControlSet\Control\Session Manager\Environment
的Path
键。 什么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解决了这个问题。