有人能解释一下这个结果吗?
设置路径后,它并没有改变。 这是在管理员命令行中运行的:
C:\Windows\system32>setx path "C:\Windows\system32;C:\Windows;C:\Windows\System32\Wbem;C:\Windows\System32\WindowsPowerShell\v1.0\;C:\ProgramData\chocolatey\bin;D:\Program Files (x86)\Microsoft VS Code\bin"
SUCCESS: Specified value was saved.
C:\Windows\system32>path
PATH=C:\Windows\system32;C:\Windows;C:\Windows\System32\Wbem;C:\Windows\System32\WindowsPowerShell\v1.0\;C:\ProgramData\chocolatey\bin;D:\Program Files (x86)\Microsoft VS Code\bin;D:\Program Files (x86)\metapad36;D:\Program Files (x86)\metapad36" /M
我读到过%PATH%=机器的PATH变量+用户的PATH变量。 我是不是看到了机器路径和管理员的路径?
查看了其他有关此主题的文章,但仍然感到困惑。
我应该清除用户路径,这样就不会重复了吗?
更新:关于“此工具创建或修改的变量将在以后的命令窗口中可用”的提示,我打开一个非管理员窗口并输入:
>path
PATH=C:\Windows\system32;C:\Windows;C:\Windows\System32\Wbem;C:\Windows\System32\WindowsPowerShell\v1.0\;C:\ProgramData\chocolatey\bin;D:\Program Files (x86)\Microsoft VS Code\bin;;D:\Program Files (x86)\metapad36;C:\Windows\system32;C:\Windows;C:\Windows\System32\Wbem;C:\Windows\System32\WindowsPowerShell\v1.0\;C:\ProgramData\chocolatey\bin;D:\Program Files (x86)\Microsoft VS Code\bin
路径被重复了两次。好的,在同一个提示符下,我使用setx
设置了没有重复和没有/M
的路径:
>setx path "C:\Windows\system32;C:\Windows;C:\Windows\System32\Wbem;C:\Windows\System32\WindowsPowerShell\v1.0\;C:\ProgramData\chocolatey\bin;D:\Program Files (x86)\Microsoft VS Code\bin"
SUCCESS: Specified value was saved.
显然保存在当前用户环境中。
然后我打开一个新的非管理员命令窗口,并输入:
>path
PATH=C:\Windows\system32;C:\Windows;C:\Windows\System32\Wbem;C:\Windows\System32\WindowsPowerShell\v1.0\;C:\ProgramData\chocolatey\bin;D:\Program Files (x86)\Microsoft VS Code\bin;;D:\Program Files (x86)\metapad36;C:\Windows\system32;C:\Windows;C:\Windows\System32\Wbem;C:\Windows\System32\WindowsPowerShell\v1.0\;C:\ProgramData\chocolatey\bin;D:\Program Files (x86)\Microsoft VS Code\bin`
它没有变化。为什么?
setx /M
修正的path
(当然)。更改用户值的path
不会“删除”在path
的系统值中定义的条目。 - dxivpath
返回系统级路径,而不是用户级路径。真的吗?我注意到在非管理员命令行输入path
返回的结果与在管理员命令行输入的不同。但如果两种情况都返回系统路径,为什么它们会不同呢?谢谢。 - johny whysetx /M
更改系统环境变量path
。除此之外,提升(以管理员身份运行)和常规(非提升)的 cmd 提示符具有相同的环境。请注意,特别是PATH
是系统 PATH + 用户 PATH 的组合,例如参见Windows NT 中的环境变量:用户路径会附加到系统路径上
。如果你以某种方式将它们都设置为相同的值,则生成的 PATH 将包含重复项,就像你看到的那样。 - dxiv