set var=%str:~a,b%中的规律:
1) a正b正:从偏移量为a的字符开始,向右截取|b|字符
2)a正b负:从最左端开始,抛弃|b|字符,直到偏移量为a的字符。
3)a为正,b为0:(没有这种情况)
4) a为正,没有b: 截取偏移量为a之后的所有字符
5)a负b正:从偏移量为a的字符开始,向右截取|b|字符
6)a负b负:(没有这种情况)
7)a为负,b为0:(没有这种情况)
8)a为负,没有b: 截取偏移量为a之后的所有字符
9)a为0,b为正:从偏移量为a的字符开始,向右截取|b|字符
10)a为0,b为负:从最左端开始,抛弃|b|字符,直到偏移量为a的字符
11)没有a,只有b: (没有这种情况)
12)没有a,没有b: (没有这种情况)
总结如下, 对应 %str:~a,b% 有:
(1)b为负时,从最左端开始,抛弃|b|字符,直到偏移量为a的字符
(2)b为正时,从偏移量为a的字符开始,向右截取|b|字符
(3)没有b时,截取偏移量为a之后的所有字符
%str:~0,1% 表示从偏移量为0的字符开始,截取1个字符(即数字①)
%str:~0,-8% 从最右端往左数,丢掉8个字符,直到偏移量为0的字符为止,(即丢掉 ⑨⑧⑦⑥⑤④③②,那么剩下的就是数字①)
var=%str:~1,-8% 从最右端往左数,丢掉8个字符,直到偏移量为1的字符为止(即丢掉 ⑨⑧⑦⑥⑤④③以及① ,那么剩下的就是数字②)
%str:~2,-7% 从最右端往左数,丢掉7个字符,直到偏移量为2的字符为止(即数字③)
var=%a:~-3% 截取偏移量为-3之后的所有字符(即⑦⑧⑨)
var=%a:~6% 截取偏移量为6之后的所有字符(即⑦⑧⑨)