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”。
文章知识点与官方知识档案匹配,可进一步学习相关知识