提到环境变量,很多用户认为这很神秘,也很高深。事实上,Windows环境变量并没有想像中那样复杂神秘,巧妙地使用它,不但可以避免系统错误,而且还能有效提高工作效率。
认识环境变量
所谓Windows环境变量,指的是Windows指定操作系统工作环境的一些设置选项或属性参数,例如指定系统文件夹或临时文件夹的位置等。与常量相比,一个环境变量往往由变量名称和变量值组成,环境变量名称和数值设置时,不要含有空格,也不要用中文,变量值可以重新赋值,而常量值一直是固定不变的。例如,使用Path变量可以设置Windows系统查询文件的路径,使用Windir变量可以设置系统文件夹路径,使用ComSpec变量可以设置“cmd.exe”命令的路径等。
在Windows工作环境中,环境变量包含系统变量和用户变量。在环境变量设置框中,要是当前是以“zhangsan”账号登录系统的,那么该对话框上面为“zhangsan”的用户变量,例如我是以“LHK”这个用户名登录系统的,环境变量对话框上面的显示就是“LHK”的用户变量,如下图所示:
对话框的下面为系统变量,也就相当于系统中所有用户的公用变量。有时,在系统变量和用户变量中,同时存在某个同名环境变量,那么该变量的值究竟是系统变量中的值还是用户变量中的值呢?其实都不是,该变量的值应该是系统变量值与用户变量值的叠加,严格来讲,搜索时是先搜索系统变量的值,然后搜索用户变量的值。例如,我们在用户变量中新建一个变量Path,它的值为“E:\Public”(不包括双引号),注意系统变量中系统已经预定义了一个Path变量,所以现在环境变量中有两个Path变量,一个是用户变量,一个系统变量。以管理员身份运行cmd,必须是以管理员身份运行,在cmd中输入Path命令,就会显示如下内容:
注意:这里我用的系统是win8.1专业版,并假设系统变量Path以前未被更改过。我做这个实验主要是想说明:当用户变量和系统变量同名时,用户变量的值不会覆盖系统变量的值。可能有人误认为系统变量相当于编程中的全局变量,用户变量详单与编程中的局部变量,所以当用户变量和系统变量同名时,用户变量的值会覆盖系统变量的值。切记,这里和编程语言中的全局变量和局部变量是不同的。
管理环境变量
设置环境变量时,可以有两种方式,一种是进入MS-DOS界面进行设置,另外一种是打开系统属性对话框,切换到高级选项设置页面,按下“环境变量”按钮,切换到环境变量对话框中进行设置。要提醒大家的是,前面一种设置方式仅对当前工作窗口有效,一旦关闭当前窗口后,环境变量设置就不生效了,而后面一种设置方式则是始终有效。
如果要查看当前状态下Windows系统包含哪些系统变量和用户变量时,可以在命令提示符下执行“set”命令,从返回的结果界面中,就能直观地查看到所有环境变量了。我的系统返回的结果如下图所示:
如果要查看某个特定环境变量数值时,可以在DOS命令行中执行“set xxx”命令(其中“xxx”为具体的变量名称),例如,要查看path变量数值时,可以执行“set path”命令,下图是执行结果:
如果要创建新的环境变量,例如要创建一个名为xxx、值为yyy的环境变量时,可以输入“set xxx=yyy”命令并回车即可。而要将某个已经存在的环境变量删除时,例如,要删除xxx环境变量时,只要在命令行中执行“set xxx=”命令即可,这里的“=”后面千万不能有空格。
倘若对DOS命令不熟悉时,也可以在环境变量对话框中,对各种变量进行创建、删除、修改等操作。用鼠标右键单击系统桌面上的“计算机”图标, 从弹出的右键菜单中点击“属性”命令,按下其后界面中的“高级系统设置”按钮,进入系统属性高级设置对话框,点击“环境变量”按钮,在这里,我们可以通过“新建”|“编辑”|“删除”等按钮,对各种环境变量进行合适管理操作。