1、环境变量
环境变量(environment variables)一般是指在操作系统中用来指定操作系统运行环境的一些参数,如:临时文件夹位置和系统文件夹位置等。
环境变量是在操作系统中一个具有特定名字的对象,它包含了一个或者多个应用程序所将使用到的信息。例如Windows和DOS操作系统中的path环境变量,当要求系统运行一个程序而没有告诉它程序所在的完整路径时,系统除了在当前目录下面寻找此程序外,还应到path中指定的路径去找。用户通过设置环境变量,来更好的运行进程。
2、WINDOWS系统常见环境变量
%ALLUSERSPROFILE%
局部 返回所有“用户配置文件”的位置。
%APPDATA%
局部 返回默认情况下应用程序存储数据的位置。
%CD%
局部 返回当前目录字符串。
%CMDCMDLINE%
局部 返回用来启动当前的 Cmd.exe 的准确命令行。
%CMDEXTVERSION%
系统 返回当前的“命令处理程序扩展”的版本号。
%COMPUTERNAME%
系统 返回计算机的名称。
%COMSPEC%
系统 返回命令行解释器可执行程序的准确路径。
%DATE%
系统 返回当前日期。使用与 date /t 命令相同的格式。由 Cmd.exe 生成。有关 date 命令的详细信息,请参阅 Date。
%ERRORLEVEL%
系统 返回使用过的命令的错误代码。通常用非零值表示错误。
%HOMEDRIVE%
系统 返回连接到用户主目录的本地工作站驱动器号。基于主目录值的设置。用户主目录是在“本地用户和组”中指定的。
%HOMEPATH%
系统 返回用户主目录的完整路径。基于主目录值的设置。用户主目录是在“本地用户和组”中指定的。
%HOMESHARE%
系统 返回用户的共享主目录的网络路径。基于主目录值的设置。用户主目录是在“本地用户和组”中指定的。
%LOGONSEVER%
局部 返回验证当前登录会话的域控制器的名称。
%NUMBER_OF_PROCESSORS%
系统 指定安装在计算机上的处理器的数目。
%OS%
系统 返回操作系统的名称。Windows 2000 将操作系统显示为 Windows_NT。
%PATH%
系统 指定可执行文件的搜索路径。
%PATHEXT%
系统 返回操作系统认为可执行的文件扩展名的列表。
%PROCESSOR_ARCHITECTURE%
系统 返回处理器的芯片体系结构。值: x86,IA64。
%PROCESSOR_IDENTIFIER%
系统 返回处理器说明。
%PROCESSOR_LEVEL%
系统 返回计算机上安装的处理器的型号。
%PROCESSOR_REVISION%
系统 返回处理器修订号的系统变量。
%PROMPT%
局部 返回当前解释程序的命令提示符设置。由 Cmd.exe 生成。
%RANDOM%
系统 返回 0 到 32767 之间的任意十进制数字。由 Cmd.exe 生成。
%SYSTEMDRIVE%
系统 返回包含 Windows XP 根目录(即系统根目录)的驱动器。
%SYSTEMROOT%
系统 返回 Windows XP 根目录的位置。
%TEMP%
and %TMP%
系统和用户 返回对当前登录用户可用的应用程序所使用的默认临时目录。有些应用程序需要 TEMP,而其它应用程序则需要 TMP。
%TIME%
系统 返回当前时间。使用与 time /t 命令相同的格式。由 Cmd.exe 生成。有关 time 命令的详细信息,请参阅 Time。
%USERDOMAIN%
局部 返回包含用户帐户的域的名称。
%USERNAME%
局部 返回当前登录的用户的名称。
%UserProfile%
局部 返回当前用户的配置文件的位置。
%WINDIR%
系统 返回操作系统目录的位置。
3、设置方法
在windows操作系统中可以通过我的电脑-〉系统属性-〉高级系统设置-〉环境变量,来设置系统的环境变量。
然而在此设置的环境变量是否在注册表中具有对应的项呢?答案是肯定的。而在.net 中提供了一个类来获取系统的环境变量及其值。
环境变量分为两类:用户变量与系统变量,在注册表中都有对应的项。
其中用户变量所在位置:
HKEY_CURRENT_USER\Environment
;
系统变量所在位置为:
\HKEY_LOCAL_MACHINE\SYSTEM\ControlSet001\Control\Session Manager\Environment
;
4、用户变量
-
OneDrive
C:\Users\Administrator\OneDrive
-
Path
%USERPROFILE%\AppData\Local\Microsoft\WindowsApps;
-
TEMP
D:\UserTemp
-
TMP
D:\Tmp
5、系统变量
-
ComSpec
%SystemRoot%\system32\cmd.exe
-
DriverData
C:\Windows\System32\Drivers\DriverData
-
NUMBER_OF_PROCESSORS
4
-
OS
Windows_NT
-
Path
%SystemRoot%\system32;%SystemRoot%;%SystemRoot%\System32\Wbem;%SYSTEMROOT%\System32\WindowsPowerShell\v1.0\;%SYSTEMROOT%\System32\OpenSSH\;C:\Program Files\node-v16.14.2-win-x64;
-
PATHEXT
.COM;.EXE;.BAT;.CMD;.VBS;.VBE;.JS;.JSE;.WSF;.WSH;.MSC
-
PROCESSOR_ARCHITECTURE
AMD64
-
PROCESSOR_IDENTIFIER
Intel64 Family 6 Model 142 Stepping 12, GenuineIntel
-
PROCESSOR_LEVEL
6
-
PROCESSOR_REVISION
8e0c
-
PSModulePath
%ProgramFiles%\WindowsPowerShell\Modules;%SystemRoot%\system32\WindowsPowerShell\v1.0\Modules
-
TEMP
D:\WindowsTemp
-
TMP
D:\Tmp
-
USERNAME
SYSTEM
-
windir
%SystemRoot%
6、特殊用途
比如修改TEMP
和TMP
系统和用户环境变量的值,可以将临时目录修改为D盘指定目录,从而达到节省C盘空间的目的。
7、设置方法
在命令行中对环境变量进行编辑的方法
查看当前可用的所有环境变量(=系统变量+用户变量)
set
查看某个环境变量,如PATH
set PATH
添加环境变量,如xxx=aa
set xxx=aa
将环境变量(如xxx
)的值置为空
set xxx=
在某个环境变量(如PATH
)后添加新的值(如d:\xxx
)
set PATH=%PATH%;d:\xxx
(注:在dos窗口中以命令行方式对环境变量的操作只对当前窗口的应用有效)