■前言
从固定格式的文件名中,提取字符串。
得到的文件名中包含目录,
C:\XXX\XXX\XX\aaa_bbb_ccc0001_xx.xxx
C:\XXX\XXX\XX\aaa_bbb_ccc0002_xx.xxx
因为前面的目录有变化的可能,而后面的文件是固定的,
所以想从,倒数某一位开始,提取固定的位数。
从而得到
ccc0001
ccc0002
■解决
从倒数第14位开始截取7位:%str:~-14,7%
■代码扩展
chcp 65001
@echo off
set str1=12345_67890_ABC
echo %str1%
echo================
echo 截取前5位:%str1:~0,5%
echo 截取最后3位:%str1:~-3%
echo 从倒数第9位开始截取5位:%str1:~-9,5%
echo (以上,是我这次需要的代码)
echo================
echo 截取第一位开始,舍去最后的4位:%str1:~0,-4%
echo 从第7个字符开始截取5位:%str1:~6,5%
pause
■执行效果
Active code page: 65001
12345_67890_ABC
===============
截取前5位:12345
截取最后3位:ABC
从倒数第9位开始截取5位:67890
(以上,是我这次需要的代码)
===============
截取第一位开始,舍去最后的4位:12345_67890
从第7个字符开始截取5位:67890
Press any key to continue . . .
----