其他分享
首页 > 其他分享> > 批处理命令—set

批处理命令—set

作者:互联网

set 命令:设置变量

(1) set 显示环境变量

set 会显示当前所有的系统环境变量

set c 会显示所有以 c 或 C开头的变量。 ( 即:不区分大小写 )

set com 显示所有以 com或 Com开头的变量

(2) set 设置环境变量

如:set str=ok // 就是将变量 str 的值设置成字符串“ OK”注:如果在变量值中有特殊字符,则 set 后面的表达式需要用双引号括起来。如: set “str=ok> ”

(3) 带参数 /a 的 set 数值计算

set 的/A 参数就是让 SET可以支持数学符号进行加减等一些数学运算 。支持的数学运算包含(优先权递减) :

 

() // 分组

! ~ // 一元运算符

* / % // 算数运算符

+ // 算数运算符

<<>> // 逻辑移位

& // 按位“与”

^ // 按位“异”

| // 按位“或”

= *= /= %= += -= // 赋值

&= ^= |= <<= >>=

, // 表达式分隔符 

如: set /a var=10-2 // 结果: var=8 ,如果没有 /a ,则 var 的值是字符串 10-2

set /a var=2*2

set /a var=2/2

set /a var=(1+1)+(1+1)

set /a a=1+1,b=2+1,c=3+1 // 使用“,”将表达式分隔。

echo %a% %b% %c%

注意:逻辑运算符和取余操作符需要用双引号括起来 , 如:

set /a var=1 “&” 1

set /a var=1 “%” 1

set /a var=2 “<<” 2

(4) 带参数 /p 的 set 命令:允许变量值是用户的输入行

如:set /p str=Please input you string.

echo Your input is: %str%.

注意: set /p 的特殊用法set /p=A // 直接显示等号后面的内容,相当于 echo A. 但是显示内容后需要手动按回车键后才能继续执行下一条语句。set /p=A<null // 显示内容并不带回车。即:显示完后立即执行下一条语句。由于没有回车,下一条语句的输出会跟在这条语句的后面。

(5)set替换作用

如:set des=%src:str1=str2% 

作用简述:把源变量src的值中所有的str1字符串替换成str2字符串,从而组合形成目标变量des的值。

  应用示例:新建文本文件,命名为set_swap,修改文件类型为bat,用Notepad++打开编辑内容如下:

 1 @echo off
 2 set src= China I love you
 3 echo 替换前的值: "%src%"
 4 set des=%src:love=hate%
 5 echo 替换后的值: "%des%"
 6 set des=%src: =123%
 7 echo 替换后的值: "%des%"
 8 set des=%src:I=me%
 9 echo 替换后的值: "%des%"
10 set des=%src:you=she%
11 echo 替换后的值: "%des%"
12 pause>nul

 执行结果:

  (6) set取舍作用

如:set des=%src:~n,m%

作用简述:把源变量src的值字符串从第n个索引位开始(n为负,是从尾部开始),取m(m不存在时,代表取后面所有的)位组成目标变量des的值。

应用示例:新建文本文件,命名为set_at,修改文件类型为bat,用Notepad++打开编辑内容如下:

 1 @echo off
 2 set src=www.baidu.com.cn
 3 echo %src%
 4 set des=%src:~1,2%
 5 echo %des%
 6 set des=%src:~4,5%
 7 echo %des%
 8 set des=%src:~1,7%
 9 echo %des%
10 set des=%src:~5%
11 echo %des%
12 set des=%src:~-5%
13 echo %des%
14 set des=%src:~0,-5%
15 echo %des%
16 set des=%src:~2,-3%
17 echo %des%
18 pause>nul

  执行结果:

  命令解析:

  第 4 行:~1,2 表示:把源变量src的值字符串从第1个索引位开始,取2位组成目标变量des的值(即:ww)。

  第 6 行:~4,5 表示:把源变量src的值字符串从第4个索引位开始,取5位组成目标变量des的值(即:baidu)。

  第 8 行:同理第4、6行(结果即:ww.baid)。

  第 10 行:~5 表示:把源变量src的值字符串从第5个索引位开始,取后面所有组成目标变量des的值(即:aidu.com.cn)。

  第 12 行:~-5 表示:把源变量src的值字符串从尾部开始取5个字符组成目标变量des的值(即:om.cn)。

  第 14 行:~0,-5 表示:把源变量src的值字符串从0索引位开始,至尾部数第五个索引位为止取出组成目标变量des的值(即:www.baidu.c)

  第 16 行:与第14行同理(结果即:w.baidu.com)。

 

标签:src,set,变量,批处理,des,echo,命令,des%
来源: https://www.cnblogs.com/xiaocaitailang/p/16588844.html