ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

批处理命令—set

2022-08-15 17:04:13  阅读:197  来源: 互联网

标签:src set 变量 批处理 des echo 命令 des%


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

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有