曲径通幽论坛

标题: 字符串截取:%a:~m,n% [打印本页]

作者: easy    时间: 2014-5-12 10:00
标题: 字符串截取:%a:~m,n%
字符串截取有一个格式:%a:~[m,[,n]]%

其中方括号表示可选,% 为变量标识符,a 为变量名,这部分必须要有。

:~ 可以当成是一固定格式,如果分开来理解,那么认为冒号用于分隔变量名和说明部分。

m 为偏移量,缺省值为 0。

n 为截取长度,缺省为全部。

测试代码:
  1. @echo off

  2. set a=123456789

  3. echo %a:~1,2%

  4. echo %a:~3,3%

  5. echo %a:~2,-3%

  6. echo %a:~,-2%

  7. echo %a:~3%

  8. echo %a:~-4,2%

  9. echo %a:~-4,-1%
  10. pause
复制代码


输出结果:
23
456
3456
1234567
456789
67
678
请按任意键继续. . .

当 m 为负数的时候,表示字串的末尾算起的偏移。当 n 为负数的时候,表示去掉后面的 n 个字符,即从后面截取。

再看一个用在 for 循环里用的例子:
  1. @echo off
  2. set disk=cdefghijklmnopqrstuvwxyz
  3. set k=1
  4. FOR /L %%i IN (0,1,23) DO call echo %%disk:~%%i,1%%
  5. pause
复制代码

在 for 里变量用的是两个 % 。





欢迎光临 曲径通幽论坛 (http://www.groad.net/bbs/) Powered by Discuz! X3.2