bat批处理----set
转载自 https://www.cnblogs.com/Braveliu/p/5081084.html
【1】set命令简介
set,设置。
【2】set命令使用
1. 打印系统环境变量。set命令可以打印系统所有的环境变量信息。
应用示例:新建文本文件,命名为set_sys,修改文件类型为bat,用Notepad++打开编辑内容如下:

1 @echo off
2 ::set 显示所有系统环境变量
3 ::set (暂时屏蔽掉,需要执行请去掉::)
4 pause>nul
5 ::set c 显示所有以C开头的环境变量(不区分大小写)
6 set c
7 pause>nul
8 ::set q 显示所有以Q开头的环境变量(不区分大小写)
9 set q
10 pause>nul

执行结果:

命令解析:
第 3 行:由于打印系统环境变量信息太多,暂时屏蔽掉,若有兴趣在本机测试时候可以去掉屏蔽命令(::)
第 6 行:打印所有以C开头的环境变量信息(不区分大小写)
第 9 行:打印所有以Q开头的环境变量信息(不区分大小写)
2. 变量设置值。
应用示例:新建文本文件,命名为set_value,修改文件类型为bat,用Notepad++打开编辑内容如下:

1 @echo off
2 set var=呵呵~我是变量var的值 //设值,不需要用引号
3 echo %var% //显示值,变量用%%
4 set var=abcdefg
5 echo %var%
6 set var="abcdefg"
7 echo %var%
8 set "var=abcdefg"
9 echo %var%
10 pause>nul

执行结果:

命令解析:
注意:各种为变量赋值的写法,以及存在的差异性。
3. set /p命令。
应用示例:新建文本文件,命名为set_p,修改文件类型为bat,用Notepad++打开编辑内容如下:
1 @echo off
2 set /p var=请输入变量的值:
3 echo 你输入的值是:%var%
4 pause>nul
执行结果:

命令解析:
/p命令语法,作用可以在用户输入前加一段说明性的描述,即想让用户输入什么内容之类的说明。
4. set /a命令。
应用示例:新建文本文件,命名为set_a,修改文件类型为bat,用Notepad++打开编辑内容如下:

1 @echo off
2 rem +运算符
3 set /a var=1+1
4 echo %var%
5 rem ()运算符
6 set /a var=(1+1) + (1+1)
7 echo %var%
8 rem *运算符
9 set /a var*=2
10 echo %var%
11 rem ,运算符 注意:求varB和varC时,两种写法的区别
12 set /a varA=var, varB=%var%*2, varC=var*3
13 echo %varA% %varB% %varC%
14 rem 与运算符,必须双引号括起来
15 set /a varD=1"&"0
16 echo %varD%
17 rem 或运算符,必须双引号括起来
18 set /a varE=1"|"0
19 echo %varE%
20 rem 异运算符,必须双引号括起来
21 set /a varF=0"^"0
22 echo %varF%
23 pause>nul

执行结果:

命令解析:
详情见脚本注释。/a expression 即可以用各种表达式为变量赋值。
5. set替换作用
应用示例:新建文本文件,命名为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

执行结果:

命令解析:
同样的语句,写了那么多,如果你有点归纳总结的能力,估计应该可以看出来了。
总结个模板,即如此:set des=%src:str1=str2%
作用简述:把源变量src的值中所有的str1字符串替换成str2字符串,从而组合形成目标变量des的值。
6. set取舍作用
应用示例:新建文本文件,命名为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)。
Good Good Study, Day Day Up.
顺序 选择 循环 总结
bat批处理----set的更多相关文章
- 【工作笔记】BAT批处理学习笔记与示例
BAT批处理学习笔记 一.批注里定义:批处理文件是将一系列命令按一定的顺序集合为一个可执行的文本文件,其扩展名为BAT或者CMD,这些命令统称批处理命令. 二.常见的批处理指令: 命令清单: 1.RE ...
- 如何用bat批处理编译swf项目
平时用FB等IDE编译多模块的游戏项目时,除了添加移除模块的操作很繁琐外,编译速度也非常之慢.而用bat来编译swf项目,速度非常快,稳定. 在此分享自己工作用的bat,每次运行会重新编译主模块Gam ...
- atitit.添加win 系统服务 bat批处理程序服务的法总结instsrv srvany java linux
atitit.添加win 系统服务 bat批处理程序服务的法总结instsrv srvany java linux 系统服务不同于普通视窗系统应用程式.不可能简简单单地通过运行一个EXE就启动视窗系 ...
- 使用BAT批处理执行sql语句的代码
使用BAT批处理执行sql语句的代码 有时候需要执行一些Sql语句时,不想开企业管理器,或者是发给客户执行但那边又不懂代码,这时就可以用下面方法 1.把待执行Sql保存在一个文件,这里为2011022 ...
- BAT批处理(二)
在前一篇中已对BAT批处理基础作了一些总结,但是对于BAT批处理还有很多的知识点没有讲解到,比如DOS中的特殊符号:IF.FOR的使用:变量:更多的DOS命令等等.本文在前一篇的基础上继续对BAT批处 ...
- SC命令---安装、开启、配置、关闭 cmd命令行和bat批处理操作windows服务
一.cmd命令行---进行Windows服务操作 1.安装服务 sc create 服务名 binPath= "C:\Users\Administrator\Desktop\win32s ...
- 执行一条cmd命令的window.bat 批处理代码:
. .执行一条cmd命令的window.bat 批处理代码: @echo off echo NodeJS SUPERVISOR...Server.js ::下面是批处理代码 supervisor d: ...
- js/bat批处理调用谷歌浏览器chrome批量打开网页测试web性能
批处理批量打开网页 其实用java就可以搞定,但是这么一个轻巧的测试,js或者bat批处理去一次性打开几百个网页测试一下页面没必要上java 两者的区别,js的话,只能打开多个浏览器实例,不方便查看效 ...
- .bat批处理命令的介绍
HUC = = D组 http://www.cnhonkerarmy.com/ 63707869 =====================================开始============ ...
- 【转载】BAT 批处理脚本教程
来源:http://www.cnblogs.com/glaivelee/archive/2009/10/07/1578737.html BAT 批处理脚本 教程 第一章 批处理基础第一节 常用批处 ...
随机推荐
- Django上线部署之uWSGI
环境: 1.CentOS 7.2 64位 2.SQL Server 2016 Enterprise 64位 3.Python 3.6.5 64位 4.root用户 要求: 按照顺序部署 1.Windo ...
- money (dp)
牛客网暑假训练第二场D题: 链接:https://www.nowcoder.com/acm/contest/140/D来源:牛客网 题目描述 White Cloud has built n store ...
- var name全局变量 typeof 类型一直是 string
在全局中 window.name=" "; name属性在全局中比较特殊,不管var name = 任何值,它最终等于的都是字符串 console.log(window.name ...
- ubuntu服务器端使用无界面selenium+ chrome + headless
本来想直接用Ubuntu系统里面的firefox来实现selenium自动操作签到的,但是总是出各种问题.没办法,改为Chrome.参考:Ubuntu 线上无界面服务器 使用selenium chro ...
- 【Database】MySQL实战45讲
01 | 基础架构:一条SQL查询语句是如何执行的? 1. MySQL 的基本架构图: MySQL可以分成: Server层 和 存储引擎层 两部分. Server层:包含连接器.查询缓存.分析器.优 ...
- Sass-属性嵌套
Sass 中还提供属性嵌套,CSS 有一些属性前缀相同,只是后缀不一样,比如:border-top/border-right,与这个类似的还有 margin.padding.font 等属性.假设你的 ...
- Dubbox管理中心的部署及使用
安装: 我们在开发时,需要知道注册中心都注册了哪些服务,以便我们开发和测试.我们可以通过部署一个管理中心来实现.其实管理中心就是一个web应用,部署到tomcat即可. (1)编译源码,得到war包 ...
- bi包
闭包是函数式编程的概念 闭包的定义:由函数极其封闭的自由变量组成的集合体. 其实每一个函数都是一个闭包 特点:函数中嵌套函数. 在返回的时候不仅返回函数本身,而且返回内部函数的值,关键词‘释放’ 闭包 ...
- 记录 SpringBoot 踩坑经历
1.spring-boot-starter-web 作用 <dependency> <groupId>org.springframework.boot</groupId& ...
- Java多线程状态切换
原创转载请注明出处:https://www.cnblogs.com/agilestyle/p/11426573.html 线程状态 NEW RUNNABLE BLOCKED WAITING TIMED ...