from:https://www.cnblogs.com/Braveliu/p/5081084.htmlhtml
【1】set命令简介express
set,设置。测试
【2】set命令使用spa
1. 打印系统环境变量。set命令能够打印系统全部的环境变量信息。code
应用示例:新建文本文件,命名为set_sys,修改文件类型为bat,用Notepad++打开编辑内容以下:htm
@echo off ::set 显示全部系统环境变量 ::set (暂时屏蔽掉,须要执行请去掉::) pause>nul ::set c 显示全部以C开头的环境变量(不区分大小写) set c pause>nul ::set q 显示全部以Q开头的环境变量(不区分大小写) set q pause>nul
执行结果:blog
命令解析:索引
第 3 行:因为打印系统环境变量信息太多,暂时屏蔽掉,如有兴趣在本机测试时候能够去掉屏蔽命令(::)rem
第 6 行:打印全部以C开头的环境变量信息(不区分大小写)字符串
第 9 行:打印全部以Q开头的环境变量信息(不区分大小写)
2. 变量设置值。
应用示例:新建文本文件,命名为set_value,修改文件类型为bat,用Notepad++打开编辑内容以下:
@echo off set var=呵呵~我是变量var的值 echo %var% set var=abcdefg echo %var% set var="abcdefg" echo %var% set "var=abcdefg" echo %var% pause>nul
执行结果:
命令解析:
注意:各类为变量赋值的写法,以及存在的差别性。
3. set /p命令。
应用示例:新建文本文件,命名为set_p,修改文件类型为bat,用Notepad++打开编辑内容以下:
@echo off set /p var=请输入变量的值: echo 你输入的值是:%var% pause>nul
执行结果:
命令解析:
/p命令语法,做用能够在用户输入前加一段说明性的描述,即想让用户输入什么内容之类的说明。
4. set /a命令。
应用示例:新建文本文件,命名为set_a,修改文件类型为bat,用Notepad++打开编辑内容以下:
@echo off rem +运算符 set /a var=1+1 echo %var% rem ()运算符 set /a var=(1+1) + (1+1) echo %var% rem *运算符 set /a var*=2 echo %var% rem ,运算符 注意:求varB和varC时,两种写法的区别 set /a varA=var, varB=%var%*2, varC=var*3 echo %varA% %varB% %varC% rem 与运算符,必须双引号括起来 set /a varD=1"&"0 echo %varD% rem 或运算符,必须双引号括起来 set /a varE=1"|"0 echo %varE% rem 异运算符,必须双引号括起来 set /a varF=0"^"0 echo %varF% pause>nul
执行结果:
命令解析:
详情见脚本注释。/a expression 便可以用各类表达式为变量赋值。
5. set替换做用
应用示例:新建文本文件,命名为set_swap,修改文件类型为bat,用Notepad++打开编辑内容以下:
@echo off set src= China I love you echo 替换前的值: "%src%" set des=%src:love=hate% echo 替换后的值: "%des%" set des=%src: =123% echo 替换后的值: "%des%" set des=%src:I=me% echo 替换后的值: "%des%" set des=%src:you=she% echo 替换后的值: "%des%" pause>nul
执行结果:
命令解析:
一样的语句,写了那么多,若是你有点概括总结的能力,估计应该能够看出来了。
总结个模板,即如此:set des=%src:str1=str2%
做用简述:把源变量src的值中全部的str1字符串替换成str2字符串,从而组合造成目标变量des的值。
6. set取舍做用
应用示例:新建文本文件,命名为set_at,修改文件类型为bat,用Notepad++打开编辑内容以下:
@echo off set src=www.baidu.com.cn echo %src% set des=%src:~1,2% echo %des% set des=%src:~4,5% echo %des% set des=%src:~1,7% echo %des% set des=%src:~5% echo %des% set des=%src:~-5% echo %des% set des=%src:~0,-5% echo %des% set des=%src:~2,-3% echo %des% pause>nul
执行结果:
命令解析:
第 4 行:~1,2 表示:把源变量src的值字符串从第1个索引位开始,取2位组成目标变量des的值(即:ww)。
第 6 行:~4,5 表示:把源变量src的值字符串从第4个索引位开始,取5位组成目标变量des的值(即:baidu)。
第 8 行:同理第四、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)。
Good Good Study, Day Day Up.