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 批处理脚本 教程 第一章 批处理基础第一节 常用批处 ...
随机推荐
- [Fw] assembly code in gas syntax
Address operand syntax There are up to 4 parameters of an address operand that are presented in the ...
- HDU 4366 Successor( DFS序+ 线段树 )
Successor Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/65536 K (Java/Others)Total S ...
- 36.Minimum Path Sum(最小路径和)
Level: Medium 题目描述: Given a m x n grid filled with non-negative numbers, find a path from top left ...
- OKVIS框架之前端
1. 数据流入 在okvis_app_sychronous.cpp内,把IMU和图像数据加入到各自的队列里.由ThreadedKFVio负责队列的各种操作.作者对队列加了特殊功能,保证队列是线程安全的 ...
- 案例:使用xml存储数据
HTML: <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF ...
- 2018-8-10-上传代码-CodePlex
title author date CreateTime categories 上传代码 CodePlex lindexi 2018-08-10 19:16:51 +0800 2018-2-13 17 ...
- (PASS)JAVA数组去重 三种方法 (不用集合)
第一种方法(只学到数组的看): 定义一个新的数组长度和旧数组的长度一样,存储除去重复数据的旧数组的数据和0, package demo01; import java.sql.Array; import ...
- js序列化----转载
https://www.cnblogs.com/craftsman-gao/p/5130567.html JSON的全称是”JavaScript Object Notation“——JavaScrip ...
- PHP微信红包生成算法的程序源码(用抛物线的模型实现)
代码如下: <?php /* * 红包生成随机算法 */ header("Content-type:text/html;charset=utf-8"); date_defau ...
- Django 与 Flask框架的比较
Django Django恐怕是最有代表性的Python框架了.它是一个遵循MMVC架构模式的开源框架.它的名字来自Django Reinhardt,一个法国作曲家和吉他演奏家,很多人认为他是历史上最 ...