字符串替换
语法格式
将字符串变量%StrName%
中的str1
全部替换为str2
.1
%StrName:str1=str2%
实例
1 | @echo off |
运行结果:1
2
3
4
5
6@echo off
set StrName=www_google_com
echo 替换前的值:"%StrName%"
set Var=%StrName:_=.%
echo 替换后的值:"%Var%"
pause
实例2
1 | @echo off |
运行结果:1
2
3
4G:\Desktop\书籍\批处理\bat>字符串替换2.bat
替换前的值:"www_google_com_hk"
替换后的值:"www被墙了google被墙了com被墙了hk"
请按任意键继续. . .
字符串截取
正序截取 从左向右截取
1 | %StrName:~[m[,n]]% |
- 方括号表示可选项
%
为变量标识符,StrName
为变量名,不可省略- 冒号
:
用于分隔变量名和说明部分 ~
可以简单理解为偏移
m
为偏移量,缺省为0
偏移量n
为截取长度,缺省为截取到最后.
实例
1 | @echo off |
运行结果:1
2
3G:\Desktop\书籍\批处理\bat>字符串截取.bat
google
请按任意键继续. . .
分析
如果用数字1
表示第一个字符w
,则%a:~4,6%
表示从第4
个字符(不包括该字符)开始,往后截取6个字符,也就是从.
这个字符开始往后截取6
字符,得到google
.用数学中的区间可以很好的理解,截取的区间为:(4,4+6]
逆序截取
1 | @echo off |
运行结果1
2
3G:\Desktop\书籍\批处理\bat>字符串逆序截取.bat
com
请按任意键继续. . .