首页 > 其他分享 >批处理命令—set

批处理命令—set

时间:2022-08-15 16:56:30浏览次数:74  
标签:src set 变量 批处理 des echo 命令 des%

set 命令:设置变量

(1) set 显示环境变量

set 会显示当前所有的系统环境变量

set c 会显示所有以 c 或 C开头的变量。 ( 即:不区分大小写 )

set com 显示所有以 com或 Com开头的变量

(2) set 设置环境变量

如:set str=ok // 就是将变量 str 的值设置成字符串“ OK”注:如果在变量值中有特殊字符,则 set 后面的表达式需要用双引号括起来。如: set “str=ok> ”

(3) 带参数 /a 的 set 数值计算

set 的/A 参数就是让 SET可以支持数学符号进行加减等一些数学运算 。支持的数学运算包含(优先权递减) :

 

() // 分组

! ~ // 一元运算符

* / % // 算数运算符

+ // 算数运算符

<<>> // 逻辑移位

& // 按位“与”

^ // 按位“异”

| // 按位“或”

= *= /= %= += -= // 赋值

&= ^= |= <<= >>=

, // 表达式分隔符 

如: set /a var=10-2 // 结果: var=8 ,如果没有 /a ,则 var 的值是字符串 10-2

set /a var=2*2

set /a var=2/2

set /a var=(1+1)+(1+1)

set /a a=1+1,b=2+1,c=3+1 // 使用“,”将表达式分隔。

echo %a% %b% %c%

注意:逻辑运算符和取余操作符需要用双引号括起来 , 如:

set /a var=1 “&” 1

set /a var=1 “%” 1

set /a var=2 “<<” 2

(4) 带参数 /p 的 set 命令:允许变量值是用户的输入行

如:set /p str=Please input you string.

echo Your input is: %str%.

注意: set /p 的特殊用法set /p=A // 直接显示等号后面的内容,相当于 echo A. 但是显示内容后需要手动按回车键后才能继续执行下一条语句。set /p=A<null // 显示内容并不带回车。即:显示完后立即执行下一条语句。由于没有回车,下一条语句的输出会跟在这条语句的后面。

(5)set替换作用

如:set des=%src:str1=str2% 

作用简述:把源变量src的值中所有的str1字符串替换成str2字符串,从而组合形成目标变量des的值。

  应用示例:新建文本文件,命名为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

 执行结果:

  (6) set取舍作用

如:set des=%src:~n,m%

作用简述:把源变量src的值字符串从第n个索引位开始(n为负,是从尾部开始),取m(m不存在时,代表取后面所有的)位组成目标变量des的值。

应用示例:新建文本文件,命名为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)。

 

标签:src,set,变量,批处理,des,echo,命令,des%
From: https://www.cnblogs.com/xiaocaitailang/p/16588844.html

相关文章

  • git常用命令
    设置用户账户gitconfig--globaluser.name'xxx'设置用户邮箱gitconfig--globaluser.email'xxx'查看用户账户gitconfiguser.name查看用户邮箱......
  • cmd批处理中使用mvn命令 解决自动退出窗口问题
    为了方便打包程序,在批处理中可以使用mvn命令(mvncleanpackage-DskipTests)但使用后发现,mvn命令后面的批处理命令不会执行,黑窗口会直接退出。原因:mvn本身是一个批处理命......
  • shell重复执行命令直到成功
    在我们从dockerhub或github上下载的时候,经常会碰到超时的问题,一般就是多尝试下载几次就可以了,但手动重复执行很麻烦,下面是自动检测若未成功执行就自动再次执行命令的代码:w......
  • 基本dos命令
    基本Dos命令打开CMD的方式开始+系统+命令提示符Win键+R输入cmd打开控制台(推荐使用)在任意的文件夹下面,按住Shift+鼠标右键点击,在此处打开命令行窗口资源管理......
  • vscode配置setting.json
    配置setting.json{  "editor.largeFileOptimizations":false,  "editor.fontSize":15,  "bracketPairColorizer.depreciation-notice":false,  "f......
  • App测试时常用的adb命令你都掌握了哪些呢?
    本次训练营开营时间:8月7日14:00-17:00名额有限,扫码即可锁定听课名额adb全称为AndroidDebugBridge(Android调试桥),是AndroidSDK中提供的用于管理Android模拟......
  • 命令机制
    RelayCommand有4个成员//命令源触发命令后执行voidExecute(object?parameter);//Execute内部调用会此方法,判断是否真的去执行boolCanExecute(object?parameter);......
  • Statefulset+Deamonset控制器实战(简单版本)
    Statefulset说明:  为了解决有状态服务的部署,例如mysql的主从等  pod拥有唯一且固定的名称  按照顺序对pod进行启停、伸缩和回收  HeadlessServices(......
  • 【T+1 SETTLEMENT】T+1 TEST APPROACH
     Somebackgrounds:PreparingforT+1SettlementCycle|DTCCFinancialServices  https://www.dtcc.com/-/media/Files/PDFs/T2/T1-Test-Approach.pdf?mkt_tok......
  • 转:批处理bat命令 获取当前盘符和当前目录和上级目录的代码
     批处理命令获取当前盘符和当前目录当前盘符:%~d0当前路径:%cd%当前执行命令行:%0当前bat文件路径:%~dp0当前bat文件短路径:%~sdp0测试12345echo当前盘符:%......