计算机技术基础 (bat 批处理)Note7

计算机技术基础 (bat 批处理)Note7

本节主要讲解 set 语句来设置变量

set 设置变量

命令说明:set a=我是一个变量
示例1:

@echo off
set a=var1
echo %a%
pause

结果:

var1
Press any key to continue . . .

示例2(变量值中含有空格或特殊字符)

@echo off
set a=123 456
set "b=123 456"
set c="123 456"
echo %a%
echo %b%
echo %c%
pause

结果:

123 456
123 456
"123 456"
Press any key to continue . . .

set 参数 /P 输入变量值

命令说明:set /p 变量名称=请输入变量内容
示例:

@echo off
set /p a=please input the value of var
echo %a%
pause

运行后结果:

please input the value of var

输入一个值后结果:

please input the value of var666
666
Press any key to continue . . .

set 参数 /A 数值计算

命令说明:set /a 用作数值计算,如 set /a 变量名称=60+6
示例1:

@echo off
set /a res=60+6
echo the result after calculation is %res%
pause

结果:

the result after calculation is 66
Press any key to continue . . .

示例2:

@echo off
set /p equation=please input the equation you want to calculate
set /a res=%equation%
echo The Results: %equation%=%res%
pause

结果显示,第一行 set /p 输入要计算的公式,第二行 set /a 计算这个公式

please input the equation you want to calculate6*6
The Results: 6*6=36
Press any key to continue . . .

set 字符串替换

命令说明:%内容:查找内容=替换内容%
示例:

@echo off
set a=1-2-3-4-5-6
echo the value before replacing %a%
:: We replace - to _
set b=%a:-=_%
echo the value after replacing %b%
:: We replace _ to " "(blank)
set b=%b:_= %
echo the value after replacing %b%
:: We replace " "(blank) to ,
set b=%b: =,%
echo the value after replacing %b%
pause

结果:

the value before replacing 1-2-3-4-5-6
the value after replacing 1_2_3_4_5_6
the value after replacing 1 2 3 4 5 6
the value after replacing 1,2,3,4,5,6
Press any key to continue . . .

set 字符串截取

命令说明:%内容:~开始截取,截取位数%,从0开始,负数表示从后数。
示例详解:

@echo off
set a=abcdefg
:: 前面的值表示从哪个位置开始截取(无论+-0,-负数代表从后面开始数)
:: 第二个值如果是正数代表截取几位数值,如果是负数代表截取到哪里
echo example1
:: 例1
:: 这会输出 abc,因为它从字符串 "abcdefg" 的第0个位置开始截取3个字符。
set b=%a:~0,3%
echo %b%
echo example2
:: 例2
:: 这会输出 bc,因为它从字符串 "abcdefg" 的第1个位置(index=1,实际第二个2)开始截取2个字符。
set b=%a:~1,2%
echo %b%
echo example3
:: 例3
:: 这会输出 cd,因为它从字符串 "abcdefg" 的第-5个位置(c)开始截取2个字符。
set b=%a:~-5,2%
echo %b%
echo example4
:: 例4
:: 以下例子,第二个参数是负数,表示截取到哪,不包括那个值 (左闭右开)
set b=%a:~0,-1%
echo %b%
set b=%a:~-6,-3%
echo %b%
set b=%a:~1,-5%
echo %b%
echo example5
:: 例5
:: 以下的三个例子说明,第二个值不能是0
set b=%a:~-3,0%
echo %b%
set b=%a:~1,0%
echo %b%
set b=%a:~0,0%
echo %b%
pause

结果以及说明:

example1
abc
example2
bc
example3
cd
example4
abcdef
bcd
b
example5
ECHO is off.
ECHO is off.
ECHO is off.
Press any key to continue . . .

备注:
这个是自学 b 站up主 程序员血月做的笔记。原视频链接:
https://space.bilibili.com/327484473/channel/seriesdetail?sid=2069394
因本人水平有限,如有任何问题,欢迎大家批评指正!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值