用户变量和系统变量之间有什么区别?


Answers:


130

右键单击“我的电脑”,然后转到“属性”->“高级”->“环境变量...”。

上面是用户变量,下面是系统变量。在为应用程序创建环境时,将元素组合在一起。系统变量为所有用户共享,但用户变量仅适用于您的帐户/配置文件。

如果您不小心删除了系统文件,请启动注册表编辑器,然后转到HKLM\ControlSet002\Control\Session Manager\Environment(假设您当前的控件集不是 ControlSet002)。然后找到该Path值并将数据复制到的Path值中HKLM\CurrentControlSet\Control\Session Manager\Environment。您可能需要重新启动计算机。(希望这些备份不是很久以前的,它们包含您需要的信息。)


1
我删除了用户,所以好还是坏,可以重新分配用户吗?
新秀

1
@rookie:嗯...好吧,删除用户变量通常不是糟糕,但这确实取决于。您可以尝试系统还原,它可能会起作用,但是我个人不喜欢它,因为可能会遇到其他各种问题。您可以尝试转到HKU\.DEFAULT\Environment,然后将所有内容复制到HKCU\Environment。如果幸运的话,这就是您所需要恢复的一切。如果您不太幸运,则可能有一些用户特定的条目无法还原,在这种情况下,您必须使用系统还原。希望这可以帮助。
user541686 2010年

为什么系统环境变量没有百分号而用户变量却有百分号?
Millemila

80

环境变量按以下顺序“评估”(即,被赋予属性):

  1. 系统变量
  2. 在autoexec.bat中定义的变量
  3. 用户变量

每个进程都有一个环境块,其中包含一组环境变量及其值。环境变量有两种类型:用户环境变量(为每个用户设置)和系统环境变量(为每个用户设置)。子进程默认情况下会继承其父进程的环境变量。

由命令处理器启动的程序将继承命令处理器的环境变量。

环境变量指定文件的搜索路径,临时文件的目录,特定于应用程序的选项以及其他类似信息。系统为每个用户维护一个环境块,为计算机维护一个环境块。系统环境块代表特定计算机的所有用户的环境变量。用户的环境块表示系统为该特定用户维护的环境变量,包括系统环境变量集。


5
如果这两个变量定义的名称相同,是否意味着系统变量将覆盖用户变量?
Casey Kuball

4
通常不会,除非涉及PATH
Treefish Zhang

37

系统环境变量由所有用户全局访问。
用户环境变量仅特定于当前登录的用户。


我不小心删除了它,结果如何?我该如何退货?
新秀

@rookie,结果是依赖此环境变量的程序可能会停止运行。至于退货,我不知道是否有可能。您可能需要执行系统还原。
Darin Dimitrov

1

只需在用户中重新创建Path变量。转到用户变量,突出显示路径,然后新建,输入值。在具有相同版本窗口的另一台计算机上查找。通常在Windows 10中:路径%USERPROFILE%\ AppData \ Local \ Microsoft \ WindowsApps;


1

环境变量(可以在任何地方访问/动态对象)是一种变量。它们有两种类型的系统环境变量和用户环境变量。

具有预定义类型和结构的系统变量。用于系统功能。系统产生的值存储在系统变量中。通常用大写字母表示。例如:HOME,PATH,USER

用户环境变量是用户确定的变量,用小写字母表示。

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.