点击“我的电脑→属性→高级”标签的“环境变量”按钮,出现“环境变量”对话框,如果当前是以Administrator登录系统的用户,对话框的上面为Administrator的用户变量,对话框的下面为系统变量(即相当于系统中所有用户的用户变量)。有的时候我们会看到在用户变量和系统变量中都存在某一个环境变量,比如path,那么path的值到底是用户变量中的值还是系统变量中的值,或者两者都不是呢?答案是两者都不是。path变量的值是用户变量中的值与系统变量中的值的叠加。
系统环境变量,对所有用户起作用,而用户环境变量只对当前用户起作用。
例如你要用java,那么你把java的bin目录加入到path变量下面(添加方法),那么它就是系统环境变量,所有用户登陆,在命令行输入java都会有java的帮助信息出来。而如果你在某个用户的变量下面新建一个变量,那么它就只对这个用户有用,当你以其他用户登陆时这个变量就和不存在一样。
系统变量:与windows操作系统包括网络状况有关,由操作系统定义。Administrators组的用户可以添加添加、修改或删除。
用户变量:由操作系统、某些应用程序以及用户建立,例如WindowsXP安装程序将临时文件夹设定了默认存储位置,并视为用户变量。任何用户都可以添加、修改或删除。
这些变量由 Windows XP 安装程序、某些应用程序以及用户建立。这些更改将写入注册表,而且通常立即生效。不过,在更改用户环境变量之后,应该重新启动所有打开的软
件程序以使其读取新的注册表值。
添加、改变变量的常见原因是为您希望在程序(脚本)中使用的变量提供所需的数据。详见下文应用举例。
系统变量:与windows操作系统包括网络状况有关,由操作系统定义。Administrators组的用户可以添加添加、修改或删除。
用户变量:由操作系统、某些应用程序以及用户建立,例如WindowsXP安装程序将临时文件夹设定了默认存储位置,并视为用户变量。任何用户都可以添加、修改或删除。
一、Windows 系统环境变量列表:
%ALLUSERSPROFILE% | 列出所有用户Profile文件位置。 |
%APPDATA% | 列出应用程序数据的默认存放位置。 |
%CD% | 列出当前目录。 |
%CLIENTNAME% | 列出联接到终端服务会话时客户端的NETBIOS名。 |
%CMDCMDLINE% | 列出启动当前cmd.exe所使用的命令行。 |
%CMDEXTVERSION% | 命令出当前命令处理程序扩展版本号。 |
%CommonProgramFiles% | 列出了常用文件的文件夹路径。 |
%COMPUTERNAME% | 列出了计算机名。 |
%COMSPEC% | 列出了可执行命令外壳(命令处理程序)的路径。 |
%DATE% | 列出当前日期。 |
%ERRORLEVEL% | 列出了最近使用的命令的错误代码。 |
%HOMEDRIVE% | 列出与用户主目录所在的驱动器盘符。 |
%HOMEPATH% | 列出用户主目录的完整路径。 |
%HOMESHARE% | 列出用户共享主目录的网络路径。 |
%LOGONSEVER% | 列出有效的当前登录会话的域名控制器名。 |
%NUMBER_OF_PROCESSORS% | 列出了计算机安装的处理器数。 |
%OS% | 列出操作系统的名字。(WindowsXP和Windows2000列为Windows_NT.) |
%Path% | 列出了可执行文件的搜索路径。 |
%PATHEXT% | 列出操作系统认为可被执行的文件扩展名。 |
%PROCESSOR_ARCHITECTURE% | 列出了处理器的芯片架构。 |
%PROCESSOR_IDENTFIER% | 列出了处理器的描述。 |
%PROCESSOR_LEVEL% | 列出了计算机的处理器的型号。 |
%PROCESSOR_REVISION% | 列出了处理器的修订号。 |
%ProgramFiles% | 列出了ProgramFiles文件夹的路径。 |
%PROMPT% | 列出了当前命令解释器的命令提示设置。 |
%RANDOM% | 列出界于0和32767之间的随机十进制数。 |
%SESSIONNAME% | 列出连接到终端服务会话时的连接和会话名。 |
%SYSTEMDRIVE% | 列出了Windows启动目录所在驱动器。 |
%SYSTEMROOT% | 列出了Windows启动目录的位置。 |
%TEMP%and%TMP% | 列出了当前登录的用户可用应用程序的默认临时目录。 |
%TIME% | 列出当前时间。 |
%USERDOMAIN% | 列出了包含用户帐号的域的名字。 |
%USERNAME% | 列出当前登录的用户的名字。 |
%USERPROFILE% | 列出当前用户Profile文件位置。 |
%WINDIR% | 列出操作系统目录的位置 |
二、set设置Windows环境变量
在cmd中设置只对当前的cmd命令运行窗口有效,关闭当前窗口后,原先的命令设置都不起作用。这就好象word中对文件格式风格的设置不会影响到下一次文档编辑的效果一样。也就是说,cmd中的设置都是些temp设置,而命令运行窗口初始化path是通过系统环境和用户环境两者的参数实现的。
①查看环境变量
C:> set
②查看某一个环境变量
C:>set path
③创建一个环境变量
C:>set xxw=c:winnt
④删除一个环境变量
C:>set xxw=
⑤更改一个环境变量
如果是追加方式,就可用C:>set xxw=%path%;c:
ew
如果是完全修改,则可用③
/**************** 择录资料 ***************************
Set
显示、设置或删除环境变量。如果没有任何参数,set 命令将显示当前环境设置。
语法
set [[/a [Expression]] [/p [Variable=]] String]
参数
/a
将 String 设置成可求值的数字表达式。
/p
将 Variable 值设置成输入行。
Variable
指定需要设置或修改的变量。
String
指定要与指定变量关联的字符串。
/?
在命令提示符下显示帮助。
注释
•
使用“故障恢复控制台”中的 set
set 命令具有不同的参数,可从“故障恢复控制台”中获得。
•
使用特殊字符
字符 <、>、|、& 和 ^ 是特殊的命令外壳字符,在 String 中使用时必须在其前面使用转义符 (^) 或用引号引起来(即,"StringContaining&Symbol")。如果要使用引号将含有一个特殊字符的字符串引起来,则该引号将被设置成环境变量值的一部分。
•
使用环境变量
使用环境变量可控制某些批处理文件和程序的行为,还可控制 Windows XP 和 MS-DOS 子系统的显示和工作方式。在 Autoexec.nt 文件中,常用 set 命令设置环境变量。
•
显示当前的环境设置
只键入 set 命令时,将显示当前的环境设置。这些设置通常包含用来帮助查找磁盘上程序的 COMSPEC 和 PATH 环境变量。Windows XP 使用的其他两个环境变量是 PROMPT 和 DIRCMD。
•
使用参数
指定变量和字符串的值时,指定的变量值将被添加到该环境,而且该字符串与该变量关联。如果环境中已经存在该变量,新的字符串值将替代旧的字符串值。
如果只为 set 命令指定一个变量和一个等号(没有字符串),则与该变量关联的字符串值将被清除(就像变量根本不存在一样)。
•
使用 /a
下表按优先性从高到低的顺序列出了支持 /a 的运算符。
运算符 执行的操作
< >
分组
* / % + -
算法
<< >>
逻辑移位
&
按位“和”运算
^
按位“异或”运算
|
按位“或”运算
= *= /= %= += -= &= ^= |= <<= >>=
分配
,
表达式分隔符
如果使用逻辑 (&& ||) 或模块 (%) 运算符,请使用引号将表达式字符串引起来。表达式中的非数字字符串将被视为环境变量名,其值将转化成数字然后才进行处理。如果指定当前环境中没有定义的环境变量名,将会分配零值,允许您对环境变量进行算术运算,而不需要使用 % 检索值。
如果从命令脚本外的命令行运行 set /a,则会显示该表达式的最终值。
数值是指十进制的数字,在前缀加 0× 则表示十六进制数字,加 0 则表示八进制数字。因此,0×2 与 18 相同,也与 022 相同,八进制表示法可能会引起混淆。例如,08 和 09 不是有效数字,因为 8 和 9 不是有效的八进制数字。
•
使用 /p
要求包含提示字符串。
•
支持延迟的环境变量扩展
已经添加延迟的环境变量扩展支持。默认情况下禁用该支持,不过可使用 cmd /v 启用或禁用它。
•
使用命令扩展
启用命令扩展(默认)并单独运行 set 时,将显示当前所有的环境变量。如果使用一个值来运行 set,则会显示与该值匹配的变量。
•
在批处理文件中使用 set
创建批处理文件时,可以使用 set 命令创建变量,然后像使用编号变量 %0 到 %9 一样使用这些变量。另外,也可以使用 %0 到 %9 变量作为 set 命令的输入。
•
从批处理文件调用 set 变量
从批处理文件调用变量值时,必须将该值用百分号 (%) 括起来。例如,如果批处理程序创建了一个环境变量 BAUD,则可以在命令行中键入 %baud%,将与 BAUD 关联的字符串作为可替换参数使用。
示例
要设置名为 TEST^1 的环境变量,请键入:
set testVar=test^^1
要设置名为 TEST&1 的环境变量,请键入:
set testVar=test^&1
Set 将变量值设置成等号 (=) 后的内容。如果键入:
set testVar="test^1"
将得到如下结果:
testVar="test^1"
要设置名为 INCLUDE 的环境变量,使字符串 C:\Inc(驱动器 C 上的 \Inc 目录)与该变量关联,请键入:
set include=c:\inc
然后,可以通过用百分号 (%) 将名称 INCLUDE 括起来,从而在批处理文件中使用字符串 C:\Inc。例如,可能在批处理文件中包含以下命令,以便可以显示与 INCLUDE 环境变量关联的目录内容。
dir %include%
处理此命令时,字符串 C:\Inc 将替代 %include%。
另外,还可以在批处理程序中使用 set,将新目录添加到 PATH 环境变量中。例如:
@echo off
rem ADDPATH.BAT adds a new directory
rem to the path environment variable.
set path=%1;%path%
set
启用命令扩展(默认)并使用一个值来运行 set 时,则会显示与该值匹配的变量。例如,如果在命令提示符下键入 setp,将得到如下结果:
Path=C:\WINNT\system32;C:\WINNT;C:\WINNT\System32\Wbem
PATHEXT=.COM;.EXE;.BAT;.CMD;.VBS;.VBE;.JS;.JSE;.WSF;.WSH
PROCESSOR_ARCHITECTURE=x86PROCESSOR_IDENTIFIER=x86
Family 6 Model 8 Stepping 1, GenuineIntel
PROCESSOR_LEVEL=6PROCESSOR_REVISION=0801
ProgramFiles=C:\Program Files
PROMPT=$P$G
*注:查看所有环境变量的名称和值: Linux下:export ; Windows下:set
根据名称查该环境变量的值:Linux下:echo $环境变量名 :比如:echo $ORACLE_HOME ; Windows下:set 环境变量名