中国DOS联盟论坛

中国DOS联盟

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

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

游客:  注册 | 登录 | 命令行 | 会员 | 搜索 | 上传 | 帮助 »
作者:
标题: [讨论]截取字符的疑惑 上一主题 | 下一主题
lzbow
初级用户





积分 23
发帖 13
注册 2009-6-2
状态 离线
『楼 主』:  [讨论]截取字符的疑惑

请看
@echo off
echo set123456789>123.txt
set b=123456789
echo %b:~0,5% >>123.txt
echo %b:~-5% >>123.txt
echo %b:~2,5% >>123.txt
echo %b:~-5,3% >>123.txt
echo %b:~-5,-4% >>123.txt
echo %b:~-5,-3% >>123.txt
为什么
echo %b:~0,5% >>123.txt
echo %b:~-5% >>123.txt
echo %b:~2,5% >>123.txt
echo %b:~-5,3% >>123.txt
这些截取的直接显示出来

echo %b:~-5,-4% >>123.txt
echo %b:~-5,-3% >>123.txt
显示的是他们截取剩下的?



我不是人
2010-4-28 15:22
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
Hanyeguxing
银牌会员

正在学习中的菜鸟...


积分 1039
发帖 897
注册 2009-3-1
来自 在地狱中仰望天堂
状态 离线
『第 2 楼』:  



  Quote:
set123456789
12345
56789
34567
567
5
56

结果是这样?很正常,我看不出哪有问题?



批处理之家 http://bbs.bathome.net/forum-5-1.html
2010-4-28 17:44
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
Hanyeguxing
银牌会员

正在学习中的菜鸟...


积分 1039
发帖 897
注册 2009-3-1
来自 在地狱中仰望天堂
状态 离线
『第 3 楼』:  

关于“字符串截取”:%a:~[m[,n]]%
  方括号表示可选,%为变量标识符,a为变量名,不可少,冒号用于分隔变量名和说明部分,符号~可以简单理解为“偏移”即可,m为偏移量(缺省为0,即截取从第1个字符开始),n为截取长度(缺省为全部)。

  Quote:
%a:~0,n%取左边n位
%a:~-m%取右边m位
%a:~m,n%从m+1位开始取n位
%a:~m,-n%从m+1位开始,至倒数n+1位
%a:~m %从m+1位开始取右边全部。





批处理之家 http://bbs.bathome.net/forum-5-1.html
2010-4-29 17:35
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复

请注意:您目前尚未注册或登录,请您注册登录以使用论坛的各项功能,例如发表和回复帖子等。


可打印版本 | 推荐给朋友 | 订阅主题 | 收藏主题



论坛跳转: