Windows中的环境变量一览
阅读原文时间:2021年04月21日阅读:1

环境变量是操作系统中一组具有名称的值,能够影响应用程序的执行效果。环境变量是应用程序的执行环境的组成部分,例如:一个正在运行的程序可以通过"TEMP"这个环境变量来获取操作系统中用来存放临时文件的路径,或者通过"HOME"或者"USERPROFILE"这个变量来获取运行该应用程序的用户的文件目录。

环境变量最早是在1979年Version7 Unix中引入的,后来在Linux,OSX和Windows等操作系统中也引入了这个系统特性。

这里我们就Windows操作系统来讨论。

在Windows操作系统中,可以通过两种方式来查看和修改系统中的环境变量。一种是通过“我的电脑”右键菜单——“属性”——“高级系统设置”——“高级”选项卡——“环境变量”来访问环境变量管理面板:

另一种是在注册表的"HKEY_LOCAL_MACHINE\SYSTEM\ControlSet001\Control\Session Manager\Environment"子项中可以找到系统中所有的环境变量的键值:

(Wiki上还提到可以在AUTOEXEC.BAT中找到环境变量的配置信息,但是AUTOEXEC.BAT文件在DOS和Win95/98系统中有效,从Win2000开始,保留这个文件只是为了兼容)

系统中的环境变量既可以用在脚本中,也可以在命令行中使用。

例如我们在命令行中输入:echo %temp%可以输出当前系统的临时文件夹的路径,或者在Windows PowerShell中输入Write-Output $HOME输出当前用户HOME路径。

下面是Windows中常见的环境变量的一些具体的意义:

%CD%:当前路径(Current Directory),这和在命令行中输入cd得到的结果相同。

%DATE%:当前日期,日期格式和当前用户的设置有关。

%ERRORLEVEL%:错误等级,输出的是最后一次出错的错误代码。

%RANDOM%:随机返回一个0~32767之间的整数。

%TIME%:当前时间。

%APPDATA%:当前登录用户的Application Data(应用程序数据)的完整路径。

%LOCALAPPDATA%:应用程序的临时文件路径,包括例如桌面主题,Windows异常报告,缓存等等。

%ProgramFiles%:program files路径,存放着Windows中安装的应用程序。

%CommonProgramFiles%:公共文件路径,默认为"C:\Program Files\CommonFiles"。

%SystemDrive%:Windows系列系统独有的环境变量,表示系统盘盘符,指出操作系统的安装磁盘(如果在C盘的话,那么值为”C:”)。

%SystemRoot%:Windows系列系统独有的环境变量,表示操作系统的根目录,盘符和%SystemDrive%相同,路径因系统的版本而异,XP及之后的操作系统为"\Windows"。

%windir%:Windows文件夹的全路径,在XP及之后的系统中为"C:\Windows"。

%UserDomain%:计算机所在的工作组或者域的名称。

%LOGONSERVER%:当前登录用户的身份验证服务器主机名。

%UserProfile%:Windows系列系统独有的环境变量,表示当前用户的文档的路径。

%UserName%:当前登录用户的用户名。

%PATH%:由一系列的分号分隔的路径组成,用于脚本解析或者命令行在执行命令时,查找匹配的可执行文件或者脚本。路径为绝对路径,对于路径中包含的子路径不会进行递归查找。

关于PATH环境变量的一点说明:

Windows中很多程序在安装或者配置过程中(例如JAVA JDK的安装,python的安装等等),都需要配置PATH环境变量,在配置的过程中要注意的是,PATH环境变量的路径中不能包含空格或者非英文字符和标点,不然该路径及该路径后面的所有路径都会失效。例如有一个特别常见的问题,很多朋友在安装完python开发环境,配置完成环境变量后,在cmd中执行python时会提示“"python"不是内部或外部命令,也不是可运行的程序或批处理文件”,这时首先检查下PATH环境变量中添加的路径是否有空格或者非英文字符和标点,如果没问题,可以把在PATH变量值最后添加的路径放到PATH变量值的最前面,这时如果好用了,那么只有一个可能,PATH变量值中存在无效的路径(包含空格或非英文字符和标点),如果还不好用,再检查一下是不是路径写错了吧。

参考资料:

http://en.wikipedia.org/wiki/Environment_variable

http://wenku.baidu.com/link?url=Zc1-cmJOWz-OUSrgPld3RrlmnOlP1aWZ4ClBdm3wtrgTT_fBs6E4TCZ4Olft1poqJ0c8VY6vvb-YnUA_LYEBoGP4BV0Px_uin-3qdXliGvu

http://baike.baidu.com/view/601129.htm?fr=aladdin