批处理命令——set
【1】set命令简介
set,设置。
【2】set命令使用
1. 打印系统环境变量。set命令可以打印系统所有的环境变量信息。
应用示例:新建文本文件,命名为set_sys,修改文件类型为bat,用Notepad++打开编辑内容如下:
1 @echo off2 ::set 显示所有系统环境变量3 ::set (暂时屏蔽掉,需要执行请去掉::)4 pause>nul5 ::set c 显示所有以C开头的环境变量(不区分大小写)6 set c7 pause>nul8 ::set q 显示所有以Q开头的环境变量(不区分大小写)9 set q 10 pause>nul
执行结果:
命令解析:
第 3 行:由于打印系统环境变量信息太多,暂时屏蔽掉,若有兴趣在本机测试时候可以去掉屏蔽命令(::)
第 6 行:打印所有以C开头的环境变量信息(不区分大小写)
第 9 行:打印所有以Q开头的环境变量信息(不区分大小写)
2. 变量设置值。
应用示例:新建文本文件,命名为set_value,修改文件类型为bat,用Notepad++打开编辑内容如下:
1 @echo off2 set var=呵呵~我是变量var的值3 echo %var%4 set var=abcdefg5 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 off2 rem +运算符3 set /a var=1+14 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 off2 set src= China I love you3 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 off2 set src=www.baidu.com.cn3 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)。
批处理命令——set - kaizen - 博客园 (cnblogs.com)
批处理命令——set相关推荐
- 批处理命令——goto 和 :
谈起goto,相信大家应该想到的是面向过程编程.其实,这就相当于当有人向你谈起class,意味着你就懂得面向对象编程.如果你不懂,那么你们的沟通将会很困难.不懂我说的啥意思吗?请参见曾经分享王路的一篇 ...
- Windbg学习 (0x0012) 命令-批处理命令程序
Windbg学习 (0x0012) 命令-批处理命令 转载于:https://www.cnblogs.com/ywnwa417/p/5678344.html
- cmd批处理命令大全1
cmd和批处理命令大全 1.Echo 命令 打开回显或关闭请求回显功能,或显示消息.如果没有任何参数,echo 命令将显示当前回显设置. 语法 echo [{on|off}] [message] Sa ...
- (完全解决)Windows如何使用批处理命令进行SSH连接并自动输入密码
找了很多方法,有说用 密钥的 sshpass工具的 用SSH客户端连接工具 脚本的 我很久之前试过用自己的虚拟机Linux SSH连接服务器Linux,使用过密钥,确实方便,但是没有试过Windows ...
- 常用批处理命令总结3之Find和FindStr
原文:常用批处理命令总结3之Find和FindStr find 作用:从文件中收索字符串 格式:find 参数 "字符串" 路径\文件名 参数: /V 显示所有未包含指定字符串的行 ...
- C# 动态执行批处理命令
C# 动态执行一系列控制台命令,并允许实时显示出来执行结果时,可以使用下面的函数.可以达到的效果为: 持续的输入:控制台可以持续使用输入流写入后续的命令 大数据量的输出:不会因为大数据量的输出导致程序 ...
- 用CreateProcess()在MFC中执行批处理命令
//封装CreateProcess BOOL CFXNAdhocDemoDlg::ProcessCmd(LPTSTR cmd) { ASSERT(cmd!=NULL); STARTUPINFO ...
- BAT 批处理命令 - 解决cmd控制台中文乱码问题实例演示
BAT 批处理命令支持的是 ANSI 编码,如果用默认的 UTF-8 编码会报错.我们只要把编码改成 ANSI 就行了. 下图是我写了一个有问题的代码.[如果还能发现其它问题可以评论区留言哦!考验一下 ...
- 批处理命令 / rem :: :
@time 2019-07-08 @author Ruo_Xiao 1.rem (1)批处理命令,相当于把 rem 后面的内容清空. (2)必须单独设置为一行,同样受回显的困扰,需要使用 @echo ...
- cmd批处理命令与变量(下)
批处理命令与变量 1:for命令及变量 基本格式: FOR /参数 %variable IN (set) DO command [command_parameters] %variable:指定一个单 ...
最新文章
- Android性能优化——腾讯、字节、阿里、百度、网易等互联网公司项目实战+案例分析(附PDF)
- 阿里开发者们的第18个感悟:每次困难出现时,就是成长的机会出现了
- ARM9学习笔记之——MMU
- c++ map 修改value_干货 | 名企高频考点如何使用map统计字符串各个字符出现的次数...
- TensorFlow学习笔记(十七)tf.nn.conv2d
- 同学你好,听说你想学习做硬件?
- 百度SEO站群小旋风蜘蛛池站群X8模板
- kali安装docker和portainer
- CPU是如何处理指令的
- WPF 学习笔记 路由事件
- 如何在网页中每小时更新一次数据?
- html 发送ping帧,HTML5:ping属性之死亡ping与隐私追踪
- python爬虫入门实例
- bat 脚本(批处理)操作注册表
- dtm源码编译安装-运行客户端demo
- win10去掉快捷方式小箭头_快捷方式小箭头很烦人 一招教你取消
- (一)android为什么需要recovery升级?
- 水龙吟·为韩南涧尚书寿甲辰岁
- Java Rest path_java – 具有多种类型的REST PathParam
- python多用户B2C商城系统毕业设计开题报告
热门文章
- 回收站删除的文件怎么恢复?恢复的方法超简单!
- 关于CommandTimeOut 【转】
- intellij java web_IntelliJ IDEA 搭建 Java web
- 十次方:贺繁星元宋分手,芒果TV“服务器”为什么崩了?
- format常见用法
- Ant命令详解和build.xml
- vue3中组件的v-model使用及详解
- 注意这两点,就可以提升企业短信验证码的发送速度
- Linux中在终端打开图形界面的文件夹的方法
- visual studio中的【console.WriteLine()】日志没有打印出来