批处理:set命令详解_第1页
批处理:set命令详解_第2页
批处理:set命令详解_第3页
批处理:set命令详解_第4页
批处理:set命令详解_第5页
已阅读5页,还剩3页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、set /a expression /p variable= string参数variable指定需要设置或修改的变量。string指定要与指定变量关联的字符串。/?在命令提示符显示帮助。注释使用“恢复控制台”中的setset命令具有不同的参数,可从“恢复控制台”中获得。使用特殊字符字符 | & A是特殊命令外壳字符,在字符串中使用时必须位于escape字符(人)之前或用引号引起来(即,StringContaining&Symbol)。如果要使用引号将含有特殊字符的字符串引起来,则该引号将被设置成环境变量值的一部分、。使用环境变量使用环境变量可控制某些批处理文件和程序的操作,并可控制Windo

2、ws XP和MS-DOS子 系统显示和工作的方式。Autoexec.nt文件中经常使用set命令设置环境变量。显示当前的环境设置当只键入set命令时,将显示当前的环境设置。这些设置通常包含用来帮助查找磁盘上程 序的COMSPEC和PATH环境变量。Windows XP使用的两个其它环境变量是PROMPT和 DIRCMDo使用参数使用 /a下表按优先性从高到低的顺序列出了支持/a的运算符。运算符执行的操作分组* / % + -算法逻辑移位&按位“和”运算人按位“异或”运算|按位“或”运算=*= /= %= += -= &= A= |= =分酉己,表达式分隔符如果使用逻辑(& |)或模(%)运算符

3、,请使用引号将表达式字符串引起来。表达式中的 非数字字符串将被视为环境变量名,其值将转化成数字然后才进行处理。如果指定当前环境 中没有定义的环境变量名,将会分配零值,允许您对环境变量进行算术运算,而不需要使 用%找回值。如果从命令脚本外的命令行中运行set/a,则会显示该表达式的最终值。数值是指十进制的数字,在前缀加0X则表示十六进制数字,加0则表示八进制数字。因 此,0X2与18相同,也与022相同,八进制表示法容易引起混淆。例如,08和09不 是有效数字,因为8和9不是有效的八进制数字。使用/P要求有提示字符串。支持延迟的环境变量扩展已经添加延迟的环境变量扩展支持。默认情况下禁用该支持,不

4、过可使用cmd /v对其启用 或禁用。使用命令扩展当启用命令扩展(默认)并单独运行set时,将显示所有当前的环境变量。如果使用一个 值来运行set,则会显示与该值匹配的变量。在批处理文件中使用set创建批处理文件时,可以使用set命令创建变量,然后象使用编号变量%0到%9 一样使 用这些变量。也可以使用%0到%9变量作为set命令的输入。从批处理文件调用set变量。从批处理文件调用变量值时,必须将该值用百分号()括起来。例如,如果批处理程序创 建了一个环境变量BAUD,则可以在命令行中键入%baud%,将与BAUD关联的字符串作 为可替换参数使用。范例若要设置名为TESTA1的环境变量,请键入

5、:set testVar=testAA1若要设置名为TEST&1的环境变量,请键入:set testVar=testA&1Set将变量值设置成等号(=)后的内容。如果键入:set testVar=testA1将得到如下结果:testVar=testA1要设置名为INCLUDE的环境变量,使字符串C:Inc (驱动器C上的Inc目录)与该变量 关联,请键入:set include=c:inc然后可以通过用在名称百分号(%)将INCLUDE括起,在批处理文件中使用字符串C:Inc。 例如,可能在批处理文件中包含以下命令,以显示与INCLUDE环境变量关联的目录内容。dir %include%处理此

6、命令时,字符串C:Inc将替代include%。还可以在批处理程序中使用set,将新目录添加到PATH环境变量中。例如:echo offrem ADDPATH.BAT adds a new directoryrem to the path environment variable.set path=%1;%path%set当启用命令表达式(默认)并使用一个值来运行set时,则会显示与该值匹配的变量。例如,如果在命令提示符键入set p,将得到如下结果:Path=C:WINNTsystem32;C:WINNT;C:WINNTSystem32WbemPATHEXT=.COM;.EXE;.BAT;.

7、CMD;.VBS;.VBE;.JS;.JSE;.WSF;.WSHPROCESSOR_ARCHITECTURE=x86PROCESSOR_IDENTIFIER=x86 Family 6 Model 8 Stepping 1, GenuineIntelPROCESSOR_LEVEL=6PROCESSOR_REVISION=0801ProgramFiles=C:Program FilesPROMPT=$P$G例子:echo offset var=我是值echo %var%pause请看set var二我是值,这就是BAT直接在批处理中设置变量的方法!set是命令var是变量名二号右边的我是值是变量的

8、值在批处理中我们要引用这个变就把var变量名用两个(百分号)扩起来,如%var% 这种SET语法只能直接在BAT代码的酸前赋予变量的值,有时候我们需要提供一个交互界面,让用户自己输入变量的值,然后我们在来根据这个值来做相应操作,现在我就来说说这SET的这种语法,只需要加一个/P参数就可以了 !例子:echo offset /p var=请输入变量的值:if %var% = 1 echo 您输入了 1 _pauseset /p是命令语法var是变量名二号右边的请输入变量的值:,这个是提示语,不是变量的值了!运行后,我们在提示语后面直接输入1,就会显示一行您输入了 1 _,输入别的就没有任何反映!

9、好了,先回顾到这,现在讲SET其他功能使用set /?查看SET的帮助我们发现SET除了我上面讲的SET variable=stringSET /P variable=promptString这两种语法外,还有如下几种语法:SET /A expression环境变量替换已如下增强:%PATH:str1=str2%PATH:10,5%PATH:-10%PATH:0,-2%这机种语法有什么用处呢?现在我们来一个个讲解他们!SET /A expression/A命令行开关指定等号右边的字符串为被评估的数字表达式。该表达式 评估器很简单并以递减的优先权顺序支持下列操作:()-分组!- 一元运算符*/%

10、-算数运算符+ -算数运算符 -逻辑移位& -按位“与”-按位“异”| -按位“或”=*= /= %= +=-=-赋值&= = |= =,-表达式分隔符 上面这些是系统帮助里的内容,看着是不是有点晕,没关系我来简单解释一下: set的/A参数就是让SET可以支持数学符号进行加减等一些数学运算!现在开始举例子介绍这些数学符号的用法:看例子 这里的例子请直接在CMD下拷贝命令运行,不需要保存为BAT!set /a var=1 + 1set /a语法,var变量名1 + 1数学式子拷贝运行后会直接显示一个2,或者运行完后我们输入echo %var%,也是二,这就是一个简单的加法运算!set /a v

11、ar=2 - 1结果是多少呢?如果你看不到结果就echo %var%set /a var=2 * 2 乘法运算set /a var=2 / 2除法运算set /a var=(1+1) + (1+1)结果等于4看得懂吧!set /a a=1+1,b=2+1,c=3+1运行后会显示一个4,但我们用echo %a% %b% %c%后看结果,会发现其他数学运算也有效果!,这就是斗号的 作用!有时候我们需要直接在原变量进行加减操作就可以用这种语法set /a var+=1这样的语法对应原始语法就是set /a var = %var% + 1都是一样的结果,在原变量的值上在进行数学运算,不过这样写简单一点

12、 在来一个:set /a var*=2其他都这么用,只要帮助里有这个语法!另外还有一些用逻辑或取余操作符,这些符号,按照上面的使用方法会报错的比如我们在CMD里输入set /a var=1 & 1 与运算,他并不会显示为1,而是报 错,为什么?对于这样的逻辑或取余操作符,我们需要把他们用双引号引起来,看例 子set /a var= 1 & 1这样结果就显示出来了,其他逻辑或取余操作符用法set /a var= 1 + 1 异运算set /a var= 1 % 1 取模运算set /a var= 2 2这个不太记得数学里的叫法.还有几个数学不太行,搞不清楚了.不列出来了,这些符号也可以用&= =

13、 |= =这样的简单用法如set /a var&= 1 等于 set /a var = %var% & 1 注意引号好符号说到这,现在说%PATH:str1=str2%这个是替换变量值的内容,看例子echo offset a= echo替换前的值:%a%set var=%a: =%echo替换后的值:var%pause对比一下,我们发现他把变量%a%的空格给替换掉了,从这个例子,我们就可以发 现%PATH:str1=str2%这个操作就是把变量%PATH%的里的str1全部用str2替换比如我们把上面的例子改成这样echo offset a=echo替换前的值:%a%set var=%a:.=

14、伤脑筋echo替换后的值:var%pause解释set var=%a:.=伤脑筋set命令var变量名字a是要进行字符替换的变量的值,.为要替换的值,伤脑筋为替换后的值!执行后就会把变量%a%里面的.全部替换为伤脑筋这就是set的随换字符的很好的功能!先讲到这%PATH:10,5%这个什么意思,看例子: echo offset a= set var=%a:1,2%echo %var%pause执行后,我们会发现只显示了 bs两个字母,我们的变量%a%的值不是为 吗怎么只显示了第2个字母和第3个字母bs,分析一结果我们就可以很容易看出%PATH:10,5%就是显示变量PATH里指定几位的值!分析 set var=%a:1,2%set命令var变量值a要进行字符操作的变量1从变量a第几位开始显示2显示几位和起来就是把变量a的值从第一位开始,把后两位赋予给变量var就样因该明白了吧其他两种语法%PATH:-10%PATH:0,-2%他们也是显示指定变量指定几位的值得的意思%PATH:-10% 例子echo offset a=set var=%a:-3%echo %var%pause这个就是把变量a倒数3位的值给变量VAR当然我们也可以改成这样echo offset a=set var=%

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论