admin 管理员组

文章数量: 887700

什么是Windows环境变量?

Windows环境变量是操作系统用于存储与系统运行相关的值或配置信息的名称-值对。它们用于控制应用程序和操作系统行为,类似于一组全局的设置或配置。环境变量可以影响系统的许多方面,例如文件搜索路径、临时文件存储位置、用户和系统设置等。

# 环境变量的类型

环境变量可分为用户变量与系统变量两类。

# 系统环境变量

这些变量在整个操作系统范围内可用,影响所有用户和系统中的所有进程。它们通常由系统管理员设置。

常见的系统环境变量包括:

  • %PATH%:定义可执行文件的搜索路径。当你在命令提示符中输入一个命令时,系统会在这些路径中搜索对应的可执行文件。

  • %TEMP%%TMP%:定义临时文件的存放目录。

  • %SystemRoot%:指向Windows操作系统的安装目录,通常是C:\Windows

# 用户环境变量

这些变量仅对特定用户有效,不影响其他用户。用户可以根据自己的需要自定义这些变量。 例如,每个用户都有自己的%PATH%变量,用于添加特定于该用户的可执行文件路径。

# 如何查看和编辑环境变量
# 查看环境变量
# 1、命令提示符:

打开命令提示符(cmd),然后输入set命令,按回车。你将看到当前所有的环境变量及其值。

输入echo %VARIABLE_NAME%可以查看特定环境变量的值,例如echo %PATH%

# 2、通过系统设置:

右键点击“此电脑”或“我的电脑”,选择“属性”。

在“系统属性”窗口中,点击“高级系统设置”。(Windows 11)

如果是Windows 10则在右侧:

在“系统属性”窗口中的“高级”选项卡下,点击“环境变量”。

# 编辑环境变量
# 1、通过图形界面

在“环境变量”窗口中,你会看到分为“用户变量”和“系统变量”两个部分。

选择你要编辑的变量,然后点击“编辑”按钮。你可以在弹出的窗口中修改变量的值。

你也可以通过“新建”按钮来添加新的环境变量,或者使用“删除”按钮来移除不需要的变量。

# 2、通过命令行(cmd)

2-1、使用set命令设置临时环境变量(临时变量只在当前命令行窗口有效,不会保存到系统中),添加或修改环境变量:set 变量名=变量内容

修改覆盖:

追加内容:set 变量名=%变量名%;变量内容

2-2、使用setx命令设置永久环境变量

setx语法:

设置用户环境变量:setx "变量名" "变量值"

会提示已保存,并在“环境变量”窗口中可以看到:

设置系统环境变量:setx "变量名" "变量值" /m

详细语法可以参考微软官方文档:setx | Microsoft Learn

# 3、通过注册表修改环境变量(永久)

环境变量所在注册表位置:

用户变量:HKEY_CURRENT_USER\Environment

系统变量:HKEY_LOCAL_MACHINE\SYSTEM\ControlSet001\Control\Session Manager\Environment

通过修改添加、修改、删除相关键值对即可实现对环境变量的更改。

# 内置环境变量和默认环境变量
# 内置环境变量

Windows系统中有一些常见的内置环境变量,它们提供了有关操作系统、用户、文件路径等信息。有一些内置环境变量在“环境变量”设置窗口是不显示的。

可以通过set命令查看:

以下是一些常见的系统内置环境变量:

  • %SystemRoot%Windows操作系统的根目录,通常是C:\Windows

  • %PATH%:存储可执行文件的搜索路径。当你在命令行中输入命令时,系统会按顺序在这些路径中查找对应的可执行文件。

  • %TEMP% / %TMP%:用于存放临时文件的目录。Windows和应用程序通常在这个目录中创建临时文件。

  • %ProgramFiles%:指向默认的程序文件目录,通常是系统中安装的大部分应用程序的存放位置。默认是: C:\Program Files

  • %ProgramFiles(x86)%:在64位Windows上,指向32位应用程序的默认安装目录。通常是: C:\Program Files (x86) 

  • %HOMEDRIVE%:当前用户的主目录所在的驱动器号。通常是:C:

  • %HOMEPATH%:当前用户的主目录路径,不包含驱动器号,默认值:\Users\<用户名>。

  • %USERPROFILE%:当前用户的主目录的完整路径,包括驱动器号。通常是: C:\Users\<用户名>。

  • %APPDATA%:指向当前用户的应用程序数据目录,通常用于存放用户配置文件和应用程序数据。通常是:C:\Users\<用户名>\AppData\Roaming。

  • %LOCALAPPDATA%:指向当前用户的本地应用程序数据目录,与%APPDATA%类似,但数据不会在网络中漫游。通常是:C:\Users\<用户名>\AppData\Local。

  • %COMSPEC%:指向命令解释器(通常是cmd.exe)的路径。通常是:C:\Windows\System32\cmd.exe

  • %WINDIR%:另一个指向Windows目录的变量,通常与%SystemRoot%相同。通常是:C:\Windows

  • %NUMBER_OF_PROCESSORS%:指示当前系统中可用的处理器核心数量。示例: 2(具体取决于具体硬件配置)。

  • %PROCESSOR_ARCHITECTURE%:指示处理器架构类型(例如x86、AMD64)。示例: AMD64(表示64位架构)。

  • %PROCESSOR_IDENTIFIER%: 提供关于处理器的信息,包括型号和制造商。如: Intel64 Family 6 Model 158 Stepping 10, GenuineIntel

  • %ALLUSERSPROFILE%:指向所有用户的公共配置文件目录,通常用于共享应用程序数。通常是:C:\ProgramData

  • %USERPROFILE%:当前用户的配置文件的位置,通常是:C:\Users\<用户名>

# 默认环境变量(Windows 10/11)

如果不小心误删除了环境变量,可以使用默认的环境变量进行恢复。(在误删除后,没有重启的情况下,也可以尝试通过注册表记录的值进行恢复,因为修改环境变量后,系统不会立刻刷新注册表)

用户变量默认值:

%PATH%: %USERPROFILE%\AppData\Local\Microsoft\WindowsApps

%TEMP%: %USERPROFILE%\AppData\Local\Temp

%TMP%: %USERPROFILE%\AppData\Local\Temp

系统变量默认值:

%PATH%%SystemRoot%\system32;%SystemRoot%;%SystemRoot%\System32\Wbem;%SYSTEMROOT%\System32\WindowsPowerShell\v1.0\

%ComSpec%: %SystemRoot%\system32\cmd.exe

%PATHEXT%: .COM;.EXE;.BAT;.CMD;.VBS;.VBE;.JS;.JSE;.WSF;.WSH;.MSC

%DriverData%C:\Windows\System32\Drivers\DriverData

%PSModulePath%%ProgramFiles%\WindowsPowerShell\Modules;%SystemRoot%\system32\WindowsPowerShell\v1.0\Modules

%TEMP%: %SystemRoot%\TEMP

%TMP%:  %SystemRoot%\TEMP

%USERNAME%: SYSTEM

%windir% %SystemRoot%

本文标签: 环境变量 系统 Windows