为什么"Path" Windows的环境变量和命令行不一样?
Why are "Path" Windows's environment variable and the command line different?
在我的电脑上,运行 Windows XP 5.1.2600,遵循
"My Computer" > "Properties" > "Advanced" > "Environment Variables" > "Path"
我得到一个字符串,但是在一个批处理文件中,或者通过
直接从提示中输入
回显%路径%
我换了一个。
谁能解释一下它们的不同之处以及如何解决问题,将 "DOS-path" 设置为与 "Windows-PATH" 相同的值?
可能您看到的不同之处在于,当创建新进程时,其默认环境包含一个 PATH
变量,该变量是通过将系统变量与用户变量合并而成的。
至于如何"fix the issue",没有什么可以解决的。系统按设计运行。
您在命令行上看到的 PATH
环境变量的值(与 "DOS" 顺便说一句无关)是系统范围 PATH
变量和用户特定 PATH
变量。
如果您从控制面板中打开带有系统变量的对话框,则上半部分包含用户特定的环境变量。下半部分包含系统变量。
如果您为您的用户设置 PATH
变量,例如c:\foo
,系统路径是 c:\Windows\System32
那么当你在命令行上执行 ECHO %PATH%
时你会看到 c:\Windows\System32;c:\foo
。
两件事:
正如其他人所提到的,PATH
的完整值是用户的 PATH
变量和系统的 PATH
变量的组合。
如果您更改环境变量(包括 PATH
),任何已经 运行 的进程(包括命令提示符)将继续使用旧的环境变量值。您将需要重新启动这些进程以获取您所做的任何更改。
我遇到了同样的问题,我通过
获得的系统变量
"My Computer" > "Properties" > "Advanced" > "Environment Variables" >
"Path"
与通过
通过命令行界面显示的不同
ECHO %PATH%
对此的修复基本上是等待更改发生,并且可以通过重新启动 cmd 和资源管理器来加快速度。为此,您可以简单地结束 Explorer 和 CMD 的任务,然后开始一个新任务或直接重新启动它。
CMD也一样。
Windows 注册表可以保存未显示在您通过控制面板看到的 PATH 环境变量版本中的路径条目。 (为什么,我不知道)。
差异意味着某些东西(可能是安装脚本)对注册表进行了更改。
要查看或更改本地用户的路径变量,请查看 HKEY_CURRENT_USER\Environment
键。
要查看系统路径,请查看HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session Manager\Environment
在我的电脑上,运行 Windows XP 5.1.2600,遵循
"My Computer" > "Properties" > "Advanced" > "Environment Variables" > "Path"
我得到一个字符串,但是在一个批处理文件中,或者通过
直接从提示中输入回显%路径%
我换了一个。
谁能解释一下它们的不同之处以及如何解决问题,将 "DOS-path" 设置为与 "Windows-PATH" 相同的值?
可能您看到的不同之处在于,当创建新进程时,其默认环境包含一个 PATH
变量,该变量是通过将系统变量与用户变量合并而成的。
至于如何"fix the issue",没有什么可以解决的。系统按设计运行。
您在命令行上看到的 PATH
环境变量的值(与 "DOS" 顺便说一句无关)是系统范围 PATH
变量和用户特定 PATH
变量。
如果您从控制面板中打开带有系统变量的对话框,则上半部分包含用户特定的环境变量。下半部分包含系统变量。
如果您为您的用户设置 PATH
变量,例如c:\foo
,系统路径是 c:\Windows\System32
那么当你在命令行上执行 ECHO %PATH%
时你会看到 c:\Windows\System32;c:\foo
。
两件事:
正如其他人所提到的,
PATH
的完整值是用户的PATH
变量和系统的PATH
变量的组合。如果您更改环境变量(包括
PATH
),任何已经 运行 的进程(包括命令提示符)将继续使用旧的环境变量值。您将需要重新启动这些进程以获取您所做的任何更改。
我遇到了同样的问题,我通过
获得的系统变量"My Computer" > "Properties" > "Advanced" > "Environment Variables" > "Path"
与通过
通过命令行界面显示的不同ECHO %PATH%
对此的修复基本上是等待更改发生,并且可以通过重新启动 cmd 和资源管理器来加快速度。为此,您可以简单地结束 Explorer 和 CMD 的任务,然后开始一个新任务或直接重新启动它。
CMD也一样。
Windows 注册表可以保存未显示在您通过控制面板看到的 PATH 环境变量版本中的路径条目。 (为什么,我不知道)。
差异意味着某些东西(可能是安装脚本)对注册表进行了更改。
要查看或更改本地用户的路径变量,请查看 HKEY_CURRENT_USER\Environment
键。
要查看系统路径,请查看HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session Manager\Environment