dos批处理bat,字符串截取测试

格式:%string:~n1,n2%

截取变量string,

n1是数字,截取字符串的开始位置,从0开始。

n2是数字,经过测试,这里有两种一种:

1)指截取字符串的个数

2)指截取字符串的结束位置

setlocal enabledelayedexpansion
set pString=0123456789
echo --------!pString:~0,3!-----
echo --------!pString:~1,3!-----
echo --------!pString:~1,4!-----
echo --------!pString:~-1,3!-----
echo --------!pString:~-3,3!-----
echo --------!pString:~-3,2!-----
echo --------!pString:~1,-3!-----
echo --------!pString:~5,3!-----

结果

D:>set pString=0123456789

D:>echo --------!pString:~0,3!-----
--------012-----

D:>echo --------!pString:~1,3!-----
--------123-----

D:>echo --------!pString:~1,4!-----
--------1234-----
从上述例子看,第二个参数应该是截取字符的个数


D:>echo --------!pString:~-3,3!-----
--------789-----

D:>echo --------!pString:~-3,2!-----
--------78-----
这两个也是
D:>echo --------!pString:~5,3!-----
--------567-----
这个也是

D:>echo --------!pString:~1,-3!-----
--------123456-----
这个就是位置了

end