计算机技术基础 (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
因本人水平有限,如有任何问题,欢迎大家批评指正!