Windows 批处理(bat) set语句使用教程

set 指令基本格式

基本格式:SET [variable=[string]]

注意事项:

  1. 等号左边一定不能有空格,右边有空格会将空格也赋值给变量
  2. 变量值包含特殊字符需用双引号,如 &、空格
  3. 避免使用系统环境变量同名的自定义变量,如path , date , errorlevel
  4. 设值,不需要用引号;显示值,变量用 %变量名%

指令参数

1. 参数 /p(P) 输入提示

格式: set /p filepath=提示语

在用户输入前加一段描述,用来说明本次输入的内容要求或目的

@echo off

:loop
set /p value=请输入任意值:
if not defined value (
	goto loop
)
echo %value%
pause

在这里插入图片描述

2. 参数 /a(A)进行数学运算

格式: set /a  value=1+2+3

当赋值时有数字运算时,需加此参数
等号右边的变量可以省略%

@echo off

set x=2
set y=3

rem 第一种,后面变量需要加%
 set /a  value=%x%+%y%
echo 一:%value%

rem 第一种,后面变量不需要加%
 set /a  value=x+y
echo 二:%value%

pause

在这里插入图片描述

高级用法

显示系统环境变量

set path

数字运算取余时,需要两个%%

@echo off
set /a value=12%%5
echo %value%
pause

逻辑运算的特殊字符需要使用双引号

@echo off
set /a "m=1<<2"
set /a n=1"<<"2
echo %m% %n%
pause

set替换作用

@echo off

set src= China I love you
echo 替换前的值: "%src%"

::将love 用hate替换
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取舍作用

@echo off
set src=abcdefghijklmn
echo src:   %src%
set des=%src:~1,2%
echo ~1,2:  %des%
set des=%src:~4,5%
echo ~4,5:  %des%
set des=%src:~5%
echo ~5:    %des%
set des=%src:~-5%
echo ~-5:   %des%
set des=%src:~0,-5%
echo ~0,-5: %des%
pause

在这里插入图片描述

~1,2 表示:把源变量src的值字符串从第1个索引位开始(索引从 0 开始),取2位组成目标变量des的值(即:bc)

~4,5 表示:把源变量src的值字符串从第4个索引位开始取5位组成目标变量des的值(即:efghi)

~5 表示:把源变量src的值字符串从第5个索引位开始取后面所有组成目标变量des的值

~-5 表示:把源变量src的值字符串从尾部开始取5个字符组成目标变量des的值

~0,-5 表示:把源变量src的值字符串从0索引位开始至尾部数第五个索引位为止取出组成目标变量des的值

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值