中国DOS联盟

-- 联合DOS 推动DOS 发展DOS --

联盟域名:www.cn-dos.net 论坛域名:www.cn-dos.net/forum
DOS,代表着自由开放与发展,我们努力起来,学习FreeDOS和Linux的自由开放与GNU精神,共同创造和发展美好的自由与GNU GPL世界吧!

中国DOS联盟论坛
现在时间是 2026-08-03 18:15
中国DOS联盟论坛 » DOS批处理 & 脚本技术(批处理室) » 变量截取字符为什么不正确? 查看 1,058 回复 5
楼 主 变量截取字符为什么不正确? 发表于 2007-03-13 11:32 ·  中国 四川 泸州 联通
高级用户
★★★
积分 609
发帖 374
注册 2006-08-02 22:38
20年会员
UID 59720
状态 离线
如果在 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 ]
本帖最近评分记录 (共 1 条) 点击查看详情
评分人分数时间
namejm -2 2007-03-13 11:50
2 发表于 2007-03-13 13:21 ·  中国 湖北 武汉 电信
版主
★★★★★
积分 11,386
发帖 4,938
注册 2006-07-23 17:10
20年会员
UID 59080
状态 离线
  看看这里: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%
3 发表于 2007-03-14 13:35 ·  中国 湖北 武汉 电信
版主
★★★★★
积分 11,386
发帖 4,938
注册 2006-07-23 17:10
20年会员
UID 59080
状态 离线

  到底要截取哪些字符呢?
4 发表于 2007-03-14 13:36 ·  中国 湖北 武汉 电信
版主
★★★★★
积分 11,386
发帖 4,938
注册 2006-07-23 17:10
20年会员
UID 59080
状态 离线

  注意,截取之用set就够了,不要加/a参数。
5 发表于 2007-03-14 13:37 ·  中国 湖北 武汉 电信
版主
★★★★★
积分 11,386
发帖 4,938
注册 2006-07-23 17:10
20年会员
UID 59080
状态 离线

  如果你认真的看了我发的那个链接里面的帖子,弄懂了的话,自己想怎么截取就怎么截取的。
6 发表于 2007-03-14 22:29 ·  中国 四川 泸州 联通
高级用户
★★★
积分 609
发帖 374
注册 2006-08-02 22:38
20年会员
UID 59720
状态 离线
Originally posted by lxmxn at 2007-3-14 13:36:

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



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