在我的PC上,运行Windows XP 5.1.2600,
“我的电脑”> “属性”> “高级”> “环境变量”> “路径”
我得到一个字符串,但是在批处理文件中,或者通过
直接从提示符输入echo%path%
我得到了另一个。
请有人解释是什么让他们与众不同以及如何解决问题,将“DOS路径”设置为“Windows-PATH”的相同值?
答案 0 :(得分:3)
两件事:
正如其他人所提到的,PATH
的完整值是用户的PATH
变量和系统的PATH
变量的组合。
如果更改环境变量(包括PATH
),则任何已运行的进程(包括命令提示符)都将继续使用旧的环境变量值。您需要重新启动这些流程以获取您所做的任何更改。
答案 1 :(得分:2)
您可能看到的差异在于,当创建新进程时,其默认环境包含通过将系统变量与用户变量合并而生成的PATH
变量。
至于如何解决问题",没有什么可以解决的。系统的行为与设计相同。
答案 2 :(得分:2)
您在命令行上看到的PATH
环境变量的值(与" DOS" btw无关)是系统范围PATH
变量的总和以及用户特定的PATH
变量。
如果从控制面板中打开包含系统变量的对话框,则上半部分包含用户特定的环境变量。下半部分包含系统变量。
如果您为用户设置PATH
变量,例如c:\foo
,系统路径为c:\Windows\System32
,当您在命令行上执行c:\Windows\System32;c:\foo
时,您会看到ECHO %PATH%
。
答案 3 :(得分:0)
我遇到的问题与我通过
获得的系统变量有关“我的电脑”> “属性”> “高级”> “环境变量”> “路径”
与通过命令行界面通过
显示的那个不同ECHO%PATH%
对此的修复基本上是等待更改发生,并且可以通过重新启动cmd和资源管理器来更快地完成此操作。为此,您只需结束Explorer和CMD的任务,然后启动新任务或直接重新启动它。
同样也应该为CMD做同样的事。
答案 4 :(得分:0)
Windows注册表可以保存在通过控制面板看到的PATH环境变量版本中未显示的路径条目。 (为什么,我不知道)。
差异意味着某些内容(可能是安装脚本)对注册表进行了更改。
要查看或更改本地用户的路径变量,请查看HKEY_CURRENT_USER\Environment
键。
要查看系统路径,请查看HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session Manager\Environment