codecamp

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× 则表示十六进制数字,加 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 时,则会显示与该值匹配的变量。例如,如果在命令提示符键入 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 


手把手教你写批处理
温馨提示
下载编程狮App,免费阅读超1000+编程语言教程
取消
确定
目录
set

关闭

MIP.setData({ 'pageTheme' : getCookie('pageTheme') || {'day':true, 'night':false}, 'pageFontSize' : getCookie('pageFontSize') || 20 }); MIP.watch('pageTheme', function(newValue){ setCookie('pageTheme', JSON.stringify(newValue)) }); MIP.watch('pageFontSize', function(newValue){ setCookie('pageFontSize', newValue) }); function setCookie(name, value){ var days = 1; var exp = new Date(); exp.setTime(exp.getTime() + days*24*60*60*1000); document.cookie = name + '=' + value + ';expires=' + exp.toUTCString(); } function getCookie(name){ var reg = new RegExp('(^| )' + name + '=([^;]*)(;|$)'); return document.cookie.match(reg) ? JSON.parse(document.cookie.match(reg)[2]) : null; }