我可以删除(显然)我的两个Windows PATH变量之间的冗余元素吗?


3

出于某种原因 - 我不确定这是否是Windows上的标准 - 我在Windows系统设置环境变量下有2个PATH变量。

Windows环境变量

我可以从其中一个中删除另一个已经存在的东西吗?他们之间是否存在一些差异,以证明在两个地方都保留一切?

更新:我对笔记本电脑具有管理权限(即使它是公司机器),也没有其他用户。

Answers:


5

是的,这是正常的 - 一个是用户特定的PATH(HKCU\Environment\PATH在注册表中),另一个是系统路径(HKLM\SYSTEM\CurrentControlSet\Control\Session Manager\Environment\PATH)。请注意,创建新帐户时,默认情况下不存在用户PATH环境变量,如果需要,可以手动创建,也可以由用户安装的程序创建。

如果必须清理它们,请删除用户路径中的重复项。用户PATH附加到系统路径,后者对所有用户都是通用的。您可以使用PATHSET命令查看组合值。请记住,对这些变量的任何更改都不会反映在已打开的命令提示符窗口中。


这是完全正常的,不要摆弄它,否则你可能会以一种模糊的方式破坏某些东西。
Bigbio2002 2015年

2
@ Bigbio2002:是的,但只要一个人小心它没关系。编辑UI虽然很糟糕。我们真的需要一个文本框,而不是一个长的水平滚动文本字段。
Karan 2015年

1
要添加到已经说过的内容,如果您是系统中的唯一用户,您甚至不会注意到差异,但是有多个用户,有一些常见的情况是每个用户拥有自己的环境变量都是有益的。正如@Karan所说,摆弄用户PATH变量,而不是系统变量,因为这更加重要,在用户登录之前必须运行的事情可能取决于它。
nurchi 2015年

@Karan:噢,我的UI确实 可怕的。我必须将所有内容复制到文本编辑器并在我可以编辑任何内容之前用换行符替换分隔符,然后反转该过程以将其放回原处。
iconoclast 2015年

1
@iconoclast:是的。我敢肯定有人必须想出一个envar或PATH编辑器,但这只是其中一个可用的默认UI应该是一个简单的事情。
Karan 2015年

1

否 - 一个是系统路径,一个是您的,它被添加到系统路径中。打开命令窗口并键入path以查看结果。

如果您从系统路径中任意删除恰好附加在用户路径中的内容,则可能会干扰您不拥有的进程。例如,仅仅因为您是系统中的“唯一”用户并不意味着所有进程 - 甚至是您启动的进程 - 都以相同的环境和权限运行。(从用户路径删除更安全,但问题中没有这种区别)。

在讨论冗余路径时,至少有两种情况:

  • 同一目录,重复
  • 具有相同名称但在不同目录中的可执行文件。

在命令行的完全替换路径上识别重复目录是最简单的。在系统环境变量对话框中,您可以使用稍后将替换的符号。

正如其中一条评论所述,由于用户界面不佳,编辑对话框中的路径很麻烦。我通常使用Windows端口查看路径conflict,这可以让我看到路径中各种程序的位置。在记录这一段时间后,我发现了一些关于如何以PATH可读形式展示您的相关问题:


对于我是否可以删除多余项目的问题,“否”?为什么不?你的其余部分不支持“否”回复。为什么我要重复这条路?
iconoclast 2015年
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.