批处理命令——set
【1】set命令简介
set,设置。
【2】set命令使用
1. 打印系统环境变量。set命令可以打印系统所有的环境变量信息。
应用示例:新建文本文件,命名为set_sys,修改文件类型为bat,用Notepad++打开编辑内容如下:
@echo off
::set 显示所有系统环境变量
::set (暂时屏蔽掉,需要执行请去掉::)
pause>nul
::set c 显示所有以C开头的环境变量(不区分大小写)
set c
pause>nul
::set q 显示所有以Q开头的环境变量(不区分大小写)
set q
pause>nul
执行结果:

命令解析:
第 3 行:由于打印系统环境变量信息太多,暂时屏蔽掉,若有兴趣在本机测试时候可以去掉屏蔽命令(::)
第 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 行:同理第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.
顺序 选择 循环 总结
批处理命令——set的更多相关文章
- 批处理命令——call 和 start
一.call命令总结 [1]call命令简介 学过汇编或C的朋友,肯定都知道call指令表示什么意思.其实,在这里它的意思也是一样的.在批处理脚本中,call命令用来从一个批处理脚本中调用另一个批处理 ...
- 批处理命令 BAT备份MySQL数据库
批处理命令 BAT备份MySQL数据库 作者: 字体:[增加 减小] 类型:转载 时间:2009-07-23我要评论 MySQL数据的备份工具也许有很多,在这我要给大家分享一下通过DOS批处理命令和M ...
- SQL Server数据库备份:通过Windows批处理命令执行
通过Windows批处理命令执行SQL Server数据库备份 建立mybackup.bat ,输入以下内容直接运行该脚本,即可开始自动备份数据库也可把该脚本加入windows任务计划里执行. --- ...
- TFS 自动同步Server 端文件的批处理命令
TFS 自动同步Server 端文件的批处理命令 目前在我们组的工作中很多时候需要将TFS上Server端的代码自动无人值守的同步到本地中来, 找到了一些解决方案的资料http://bbs.scmro ...
- 批处理命令——goto 和 :
谈起goto,相信大家应该想到的是面向过程编程.其实,这就相当于当有人向你谈起class,意味着你就懂得面向对象编程.如果你不懂,那么你们的沟通将会很困难.不懂我说的啥意思吗?请参见曾经分享王路的一篇 ...
- TortoiseSVN常用批处理命令 分类: C# 2014-08-09 11:31 648人阅读 评论(1) 收藏
TortoiseSVN作为源代码管理软件,估计用过的都会说好,在Windows下,配合批处理命令,往往可以事半功倍,整理了下常用的批处理命令: (将下面的内容修改后,保存为*.bat文件执行即可) : ...
- C++程序中调用MPI并行的批处理命令
问题来源:在使用MPI时,将程序并行实现了,运行时需要在dos窗口下输入批处理命令,以完成程序的执行. 如:mpiexec -localroot -n 6 d:/mpi/pro.exe 但每次这样挺麻 ...
- BATCH(BAT批处理命令语法)
bat语法备忘扩展名是bat(在nt/2000/xp/2003下也可以是cmd)的文件就是批处理文件[@more@] bat语法备忘扩展名是bat(在nt/2000/xp/2003下也可以是cmd)的 ...
- C# 动态执行批处理命令
本文转载:http://www.cnblogs.com/lenic/p/4097045.html C# 动态执行一系列控制台命令,并允许实时显示出来执行结果时,可以使用下面的函数.可以达到的效果为: ...
- DOS批处理命令-if语句
IF语句是批处理中执行的条件分歧处理. 批处理中,IF分歧的写法有好几种,接下来,我们来一个一个的分析IF语法的结构. 1.IF [NOT] ERRORLEVEL 番号 批处理命令 当ERRORLEV ...
随机推荐
- JS中注意事项
(一)判断中注意事项 一.所有的相对路径都别拿来做判断 1.img src='...' 2.href='1.css', href='html/index.html' 3.img src='http:/ ...
- ./*** > /dev/null 2>&1
转载:http://dongwei.iteye.com/blog/322702 shell中可能经常能看到:>/dev/null 2>&1 命令的结果可以通过%>的形式来定义 ...
- MySQL Command 常见命令
/* Load data from txt file */ LOAD DATA LOCAL INFILE "D:/data.txt" INTO TABLE tname; /* Lo ...
- hdu Remainder
这道题是道很明显的bfs题.因为对数论没什么研究 ,所以这道题目里的两个关键点并不知道,看了别人的题解才知道 . 1.为避免取模后出现负数,采用:x%y=(x%y+y)%y 2.全部采用对m*k取模后 ...
- SQL 参数化查询 应用于 Like
在sql 进行参数化查询的时候,使用like 语句和参数的时候,错误的写法: Participant like '%@Participant%' ,这样在数据库为解析为 '%'participant ...
- SQL存储过程生成顺序编码
一.第一种方式 USE [WJKC]GO/****** Object: StoredProcedure [dbo].[Address_GetCode1] Script Date: 2016/3 ...
- 浏览器中跨域创建cookie的问题
当我们在www.a.com这个域下用ajax提交一个请求到www.b.com这个域的时候,默认情况下,浏览器是不允许的,因为违反了浏览器的同源策略.解决方案可以参考笔者的这篇博文:http://www ...
- Java XML解析工具 dom4j介绍及使用实例
Java XML解析工具 dom4j介绍及使用实例 dom4j介绍 dom4j的项目地址:http://sourceforge.net/projects/dom4j/?source=directory ...
- graph | hungary
匈牙利算法,求二分图最大匹配. 若P是图G中一条连通两个未匹配顶点的路径,并且属于M的边和不属于M的边(即已匹配和待匹配的边)在P上交替出现,则称P为相对于M的一条增广路径.(M为一个匹配) 由增广路 ...
- 模式窗口刷新不弹出新窗口触发NET事件
最近做项目的时候用到模式窗口,这个东西我从来没有用过,事实上我是讨厌用这个东西,由于项目需要也只好忍着了.在实现的时候发现了一个问题,打开一个模式窗口后如果里面有asp.net控件并绑定有后台事件的话 ...