环境变量概述
环境变量(Environment Variables)一般是指在操作系统中用来指定操作系统运行环境的一些参数,如:临时文件夹位置和系统文件夹位置等。
环境变量是在操作系统中一个具有特定名字的对象,它包含了一个或者多个应用程序所将使用到的信息。例如 Windows 和 DOS 操作系统中的 path 环境变量,当要求系统运行一个程序而没有告诉它程序所在的完整路径时,系统除了在当前目录下面寻找此程序外,还应到 path 中指定的路径去找。如 tc 或 vc++ 中,set include=path1;path2; 是告诉编译程序到哪里去找 .h 类型的文件;当然不仅仅是指定什么路径,环境变量还有其它的作用的,如set dircmd=/4 设置一个环境变量的作用是在使用 dir 命令时会把 /4 作为缺省的参数添加到你的 dir 命令之后,就像你的每个命令都加了 /4 参数,它实际上是给命令解释程序 command 设置的一个环境变量,并且是给 dir 这个内部命令设置的。
很多朋友会在自己的计算机上安装双系统,例如 C 盘安装 Windows 10,D 盘安装 Windows 7。可是某些软件往往只在Windows 10 系统中安装,Windows 7 系统中是无法正常使用的,比较麻烦却有效的方法是再安装一遍。当我们了解了环境变量中的用途后就可以很好解决双系统的软件共用问题。为什么在 Windows 10 中安装了的软件(绿色软件和不兼容软件除外)在 Windows 7 下无法运行呢?原因是安装软件时往往须要向系统目录中复制某些文件,而使用另外一个系统时会由于缺少这些文件而无法运行,而我们可以通过设置环境变量的方法来解决这个问题。
环境变量设置
Windows 系统
Windows 系统常见环境变量如下:
%ALLUSERSPROFILE%:局部。返回所有“用户配置文件”的位置。
%APPDATA%:局部。返回默认情况下应用程序存储数据的位置。
%CD%:局部。返回当前目录字符串。
%CMDCMDLINE%:局部。返回用来启动当前的 cmd.exe 的准确命令行。
%CMDEXTVERSION%:系统。返回当前的“命令处理程序扩展”的版本号。
%COMPUTERNAME%:系统。返回计算机的名称。
%COMSPEC%:系统。返回命令行解释器可执行程序的准确路径。
%DATE%:系统。返回当前日期。使用与 date /t 命令相同的格式。由 cmd.exe 生成,可参考 date 命令的详细信息。
%ERRORLEVEL%:系统。返回使用过的命令的错误代码。通常用非零值表示错误。
%HOMEDRIVE%:系统。返回连接到用户主目录的本地工作站驱动器号。基于主目录值的设置。用户主目录是在“本地用户和组”中指定的。
%HOMEPATH%:系统。返回用户主目录的完整路径。基于主目录值的设置。用户主目录是在“本地用户和组”中指定的。
%HOMESHARE%:系统。返回用户的共享主目录的网络路径。基于主目录值的设置。用户主目录是在“本地用户和组”中指定的。
%LOGONSEVER%:局部。返回验证当前登录会话的域控制器的名称。
%NUMBER_OF_PROCESSORS%:系统。指定安装在计算机上的处理器的数目。
%OS%:系统。返回操作系统的名称。Windows 2000 将操作系统显示为 Windows_NT。
%PATH%:系统。指定可执行文件的搜索路径。由 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 命令的详细信息。
%USERDOMAIN%:局部。返回包含用户帐户的域的名称。
%USERNAME%:局部。返回当前登录的用户的名称。
%USERPROFILE%:局部。返回当前用户的配置文件的位置。
%WINDIR%:系统。返回操作系统目录的位置。
设置方法
环境变量分为两类:用户变量与系统变量,在注册表中都有对应的项。其中用户变量位于:
HKEY_CURRENT_USER\Environment
系统变量位于:
HKEY_LOCAL_MACHINE\SYSTEM\ControlSet001\Control\Session Manager\Environment
在 Windows 操作系统中可以通过我的电脑 → 系统属性 → 高级系统设置 → 环境变量,在原有变量的基础上添加英文状态下的分号,然后将路径名输入即可。(切记,不要删除原先的系统变量,只要用分号隔开,然后添加,最后也要加上分号)。然而在此设置的环境变量是在注册表中具有对应的项。在 .net 中提供了一个类来获取系统的环境变量及其值。
Windows 平台以 Win 10 为例:
右键此电脑 → 属性:
高级系统设置 → 环境变量:
用户变量仅对当前的用户有效,系统变量对所有用户有效。
考虑到不影响其他用户的使用,这里选择设置用户变量。选中用户变量中的Path→ 编辑(如果没有 Path,则选择新建 Path):
在弹出的对话框中就可以新建或编辑环境变量名和环境变量值了。
注意:Windows 下不区分大小写,因此 windows 与 WINDOWS 都正确;而 Linux 系统是严格区分大小写的。
命令行查看环境变量
在 Windows 命令行输入 set 命令可以查看 Windows 系统当前所存在的所有的环境变量。从环境变量中我们可以得到很多信息。
例如 PROCESSOR_IDENTIFIER 显示处理器的架构,USERDOMAIN 显示计算机名,USERNAME 显示计算机用户名,TEMP 显示系统临时文件夹的位置,PROMPT 显示当前提示符的状态灯。