👉博__主👈:米码收割机
👉技__能👈:C++/Python语言
👉公众号👈:测试开发自动化
👉专__注👈:专注主流机器人、人工智能等相关领域的开发、测试技术
【windows批处理bat】批处理文件——字符串处理相关操作
文章目录
- 【windows批处理bat】批处理文件——字符串处理相关操作
- 0. 补充知识
- 1. 字符串定义
- 2. 字符串拼接
- 3. 字符串分割
- 4. 字符串替换
- 5. 字符串切片
- 6. 字符串查找
0. 补充知识
@echo off
命令关闭回显:
命令本身不会显示在命令提示符窗口中。使得批处理文件的输出更加清晰,只会看到命令的结果,而不是命令本身。
1. 字符串定义
使用set来定义字符串
@echo off
set string1=Hello
echo %string1% # Hello
代码说明:
将字符串Hello赋值给string1的变量
2. 字符串拼接
使用%string1%%string2%
的方式完成字符串的拼接。
@echo off
set string1=Hello
set string2=World
set combined1=%string1% %string2% # 不想在拼接的字符串中包含空格,去掉两个变量之间的空格。
set combined2=%string1%,%string2% # 不想在拼接的字符串中包含空格,去掉两个变量之间的逗号。
set combined1=%string1%%string2%
echo %combined1% # Hello World
echo %combined2% # Hello,World
echo %combined3% # HelloWorld
3. 字符串分割
一个字符串 My-String,并且你想要将其分割为 My 和 String。
@echo off
set my_string=My-String
for /f "tokens=1,2 delims=-" %%a in ("%my_string%") do (
set first_part=%%a
set second_part=%%b
)
echo First part: %first_part%
echo Second part: %second_part%
代码说明:
- 定义了一个名为 my_string 的变量,其值为 My-String。
- 它使用 for /f 命令来分割这个字符串。tokens=1,2 指定了分割后的部分(tokens),delims=- 指定了分隔符(delimiters)。
- 分割后的部分被赋值给 %%a 和 %%b,然后被存储在 first_part 和 second_part 变量中。
4. 字符串替换
使用方法:
语法:%var:str1=str2%
说明:使用str2来替换var变量中str1的一部分内容
@echo off
set VAR=hello
set VAR=%VAR:ell=ipp%
echo %VAR% # hippo
代码说明:
创建了一个变量 VAR,它的值是 “hello”。然后,使用 set 命令的str1=str2 选项来将 “ell” 替换为 “ipp”。因此,脚本将输出 “hippo”。
5. 字符串切片
使用方法:
语法:%variable:~start_index,length%
说明:start_index 是子串的开始位置,length 是子串的长度。索引是从0开始的,所以0表示字符串的第一个字符。
@echo off
set my_string=Hello, World!
echo %my_string:~0,5% # Hello
echo %my_string:~7% # World!
echo %my_string:~-1% # !
6. 字符串查找
使用echo 和 findstr 命令来判断是否包含一个字符串
@echo off
set VAR=hello
echo %VAR% | findstr /C:"ell" >nul
if errorlevel 1 (
echo String not found
) else (
echo String found
)
代码说明:
创建了一个变量 VAR,它的值是 “hello”。然后,使用 echo 和 findstr 命令来查找 “ell”。如果 “ell” 被找到,脚本将输出 “String found”,否则,输出 “String not found”。