Board logo

标题: 变量截取字符为什么不正确? [打印本页]

作者: ZJHJ     时间: 2007-3-13 11:32    标题: 变量截取字符为什么不正确?

如果在 a.txt 中的字符是abcd20070305 或(abcd20070809)
现在要用变量截取指定位字符.

现在用:
@echo off
FOR /F %%j in (a.txt) do set xz=%%j
set yys=%xz%
set /a yys=%yys:~-7,7%
@echo %yys%
pause

----
以上的截取会是0070305吗? 用set /a yys=%yys:~-5,7% 也不会是.
如果截取0305 用set /a yys=%yys:~-4,4% 也不会正确.

[ Last edited by namejm on 2007-3-16 at 01:12 PM ]
作者: lxmxn     时间: 2007-3-13 13:21
  看看这里:http://www.cn-dos.net/forum/viewthread.php?tid=25746&fpage=1&highlight=%2Blxmxn
set a=abcd20070809
echo %a:~5,3%
echo %a:~8,2%
echo %a:~-2%

作者: lxmxn     时间: 2007-3-14 13:35

  到底要截取哪些字符呢?

作者: lxmxn     时间: 2007-3-14 13:36

  注意,截取之用set就够了,不要加/a参数。

作者: lxmxn     时间: 2007-3-14 13:37

  如果你认真的看了我发的那个链接里面的帖子,弄懂了的话,自己想怎么截取就怎么截取的。

作者: ZJHJ     时间: 2007-3-14 22:29


  Quote:
Originally posted by lxmxn at 2007-3-14 13:36:

  注意,截取之用set就够了,不要加/a参数。

谢谢你理解到我的真正意图!“不要加/a参数” OK!再次感谢 lxmxn