Set



显示、设置或删除环境变量。如果没有任何参数，set 命令将显示当前环境设置。


语法



set [[/a [expression]] [/p [variable=]] string]


参数



	/a

	将 string 设置成可求值的数字表达式。

	/p

	将 variable 的值设置成输入行。

	variable

	指定需要设置或修改的变量。

	string

	指定要与指定变量关联的字符串。

	/?
在命令提示符显示帮助。



注释


使用“恢复控制台”中的 set

set 命令具有不同的参数，可从“恢复控制台”中获得。
	使用特殊字符

	字符 <  > |  &  ^ 是特殊命令外壳字符，在字符串中使用时必须位于 escape 字符 (^) 之前或用引号引起来（即，"StringContaining&Symbol"）。如果要使用引号将含有特殊字符的字符串引起来，则该引号将被设置成环境变量值的一部分。
	使用环境变量

    使用环境变量可控制某些批处理文件和程序的操作，并可控制 Windows XP 和 MS-DOS 子系统显示和工作的方式。Autoexec.nt 文件中经常使用 set 命令设置环境变量。
    
 显示当前的环境设置
	
当只键入 set 命令时，将显示当前的环境设置。这些设置通常包含用来帮助查找磁盘上程序的 COMSPEC 和 PATH 环境变量。Windows XP 使用的两个其它环境变量是 PROMPT 和 DIRCMD。
    
 使用参数
	
 当指定变量和字符串的值时，指定的变量值将被添加到该环境，而且该字符串与该变量关联。如果环境中已经存在该变量，新的字符串值将替代旧的字符串值。

 如果只为 set 命令指定一个变量和一个等号（没有字符串），则与该变量关联的字符串值将被清除（就象变量根本不存在一样）。
    
	 使用 /a
	
 下表按优先性从高到低的顺序列出了支持 /a 的运算符。


运算符
执行的操作


< >
分组


* / % + -
算法


<< >>
逻辑移位


&
按位“和”运算


^
按位“异或”运算


|
按位“或”运算


= *= /= %= += -= &= ^= |= <<= >>=
分配


,
表达式分隔符



 如果使用逻辑 (&& ||) 或模 (%) 运算符，请使用引号将表达式字符串引起来。表达式中的非数字字符串将被视为环境变量名，其值将转化成数字然后才进行处理。如果指定当前环境中没有定义的环境变量名，将会分配零值，允许您对环境变量进行算术运算，而不需要使用 % 找回值。

 如果从命令脚本外的命令行中运行 set /a，则会显示该表达式的最终值。

 数值是指十进制的数字，在前缀加 0&times; 则表示十六进制数字，加 0 则表示八进制数字。因此，0&times;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 时，则会显示与该值匹配的变量。例如，如果在命令提示符键入 set p，将得到如下结果：

 Path=C:\WINNT\system32;C:\WINNT;C:\WINNT\System32\Wbem
 PATHEXT=.COM;.EXE;.BAT;.CMD;.VBS;.VBE;.JS;.JSE;.WSF;.WSH
 PROCESSOR_ARCHITECTURE=x86
 PROCESSOR_IDENTIFIER=x86 Family 6 Model 8 Stepping 1, GenuineIntel
 PROCESSOR_LEVEL=6
 PROCESSOR_REVISION=0801
 ProgramFiles=C:\Program Files
 PROMPT=$P$G

XOX





 
