转载自    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的更多相关文章

  1. 【工作笔记】BAT批处理学习笔记与示例

    BAT批处理学习笔记 一.批注里定义:批处理文件是将一系列命令按一定的顺序集合为一个可执行的文本文件,其扩展名为BAT或者CMD,这些命令统称批处理命令. 二.常见的批处理指令: 命令清单: 1.RE ...

  2. 如何用bat批处理编译swf项目

    平时用FB等IDE编译多模块的游戏项目时,除了添加移除模块的操作很繁琐外,编译速度也非常之慢.而用bat来编译swf项目,速度非常快,稳定. 在此分享自己工作用的bat,每次运行会重新编译主模块Gam ...

  3. atitit.添加win 系统服务 bat批处理程序服务的法总结instsrv srvany java linux

    atitit.添加win 系统服务 bat批处理程序服务的法总结instsrv srvany  java linux 系统服务不同于普通视窗系统应用程式.不可能简简单单地通过运行一个EXE就启动视窗系 ...

  4. 使用BAT批处理执行sql语句的代码

    使用BAT批处理执行sql语句的代码 有时候需要执行一些Sql语句时,不想开企业管理器,或者是发给客户执行但那边又不懂代码,这时就可以用下面方法 1.把待执行Sql保存在一个文件,这里为2011022 ...

  5. BAT批处理(二)

    在前一篇中已对BAT批处理基础作了一些总结,但是对于BAT批处理还有很多的知识点没有讲解到,比如DOS中的特殊符号:IF.FOR的使用:变量:更多的DOS命令等等.本文在前一篇的基础上继续对BAT批处 ...

  6. SC命令---安装、开启、配置、关闭 cmd命令行和bat批处理操作windows服务

      一.cmd命令行---进行Windows服务操作 1.安装服务 sc create 服务名 binPath= "C:\Users\Administrator\Desktop\win32s ...

  7. 执行一条cmd命令的window.bat 批处理代码:

    . .执行一条cmd命令的window.bat 批处理代码: @echo off echo NodeJS SUPERVISOR...Server.js ::下面是批处理代码 supervisor d: ...

  8. js/bat批处理调用谷歌浏览器chrome批量打开网页测试web性能

    批处理批量打开网页 其实用java就可以搞定,但是这么一个轻巧的测试,js或者bat批处理去一次性打开几百个网页测试一下页面没必要上java 两者的区别,js的话,只能打开多个浏览器实例,不方便查看效 ...

  9. .bat批处理命令的介绍

    HUC = = D组 http://www.cnhonkerarmy.com/ 63707869 =====================================开始============ ...

  10. 【转载】BAT 批处理脚本教程

    来源:http://www.cnblogs.com/glaivelee/archive/2009/10/07/1578737.html BAT 批处理脚本 教程   第一章 批处理基础第一节 常用批处 ...

随机推荐

  1. Rikka with Nickname (简单题)

    Rikka with Nickname  链接:https://www.nowcoder.com/acm/contest/148/J来源:牛客网 时间限制:C/C++ 2秒,其他语言4秒空间限制:C/ ...

  2. C#用new和override来实现抽象类的重写区别

    一,抽象的实现 using System; using System.Collections.Generic; using System.Linq; using System.Text; namesp ...

  3. Java中的HashMap的2种遍历方式比较

    首先我们准备数据,准备一个map Map<String, String> map = new HashMap<String, String>(); for (int i = 0 ...

  4. Spring学习笔记(14)——注解零配置

    我们在以前学习  Spring  的时候,其所有的配置信息都写在  applicationContext.xml  里,大致示例如下: java代码: <beans> <bean n ...

  5. 基于QRcode的带有文字+图片的二维码的Vue组件

    1 <template> 2 <!-- 生成二维码开放接口: 3 二维码内容[通常为url] 4 二维码大小[限制为正方形] 二维码下方显示:文字 5 二维码中间显示:图片--> ...

  6. 【异常】Caused by: java.lang.IllegalStateException: Method has too many Body parameters

    出现此异常原因是引文使用feign客户端的时候,参数没有用注解修饰 1.1GET方式错误写法 @RequestMapping(value="/test", method=Reque ...

  7. 403 ,502 到正确的nginx 配置

    配置完一定要reboot ,之前我一直用的 ./nginx -s reload ,这次我不知道为啥不行... 再没有reboot 之前一直在用的旧的配置.所以一直在报403forbbdin. rebo ...

  8. 浅谈Java反射与框架

    Java反射 1.示例 1.用户类 package com.lf.entity; import com.lf.annotation.SetProperty; import com.lf.annotat ...

  9. 【leetcode】910. Smallest Range II

    题目如下: 解题思路:我的思路是先找出最大值.对于数组中任意一个元素A[i]来说,如果A[i] + K 是B中的最大值,那么意味着从A[i+1]开始的元素都要减去K,即如果有A[i] + K > ...

  10. C常量

    C 常量 常量是固定值,在程序执行期间不会改变.这些固定的值,又叫做字面量. 常量可以是任何的基本数据类型,比如整数常量.浮点常量.字符常量,或字符串字面值,也有枚举常量. 常量就像是常规的变量,只不 ...