中国DOS联盟论坛

中国DOS联盟

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

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

游客:  注册 | 登录 | 命令行 | 会员 | 搜索 | 上传 | 帮助 »
作者:
标题: for /f 使用时的一个限制。 上一主题 | 下一主题
abxialiang
新手上路





积分 11
发帖 11
注册 2009-12-29
状态 离线
『楼 主』:  for /f 使用时的一个限制。

有文件b.txt内容是:  aa3vv4bb34cc4dd34ff

我想要以”34“为分隔字符串,提取字符串:

-----------------------------------------
@echo off
for /f "delims=34 tokens=1,2,3*" %%i in (b.txt) do (
echo %%i---%%j---%%k
)
pause
-----------------------------------------
我本来是想用“34”作为一个分隔字符串,处理后输出“aa3vv4bb--cc4dd--ff“,但批处理运行时却不是把”34“当作一个整体来处理的,所以没有得到我想要的结果(输出的是“aa---vv---bb”)。有什么简单的办法可以实现呢?

[ Last edited by abxialiang on 2010-3-8 at 12:10 ]

2010-3-8 12:00
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
HAT
版主





积分 9023
发帖 5017
注册 2007-5-31
状态 离线
『第 2 楼』:  

先把34替换成一个文本中不会出现的字符,再用这个字符作为列分隔符。



2010-3-8 12:53
查看资料  发短消息 网志   编辑帖子  回复  引用回复
jarry0932
初级用户





积分 128
发帖 122
注册 2009-9-21
状态 离线
『第 3 楼』:  

那就是说不能直接以34本身作为分隔符?就是说不能用2位及以上长度的字符串作为分隔符了?

2010-3-9 01:17
查看资料  发送邮件  发短消息 网志  OICQ (274997087)  编辑帖子  回复  引用回复
HAT
版主





积分 9023
发帖 5017
注册 2007-5-31
状态 离线
『第 4 楼』:  

是的,for命令会把你设置的字符串拆分成单个字符。



2010-3-9 12:06
查看资料  发短消息 网志   编辑帖子  回复  引用回复
abxialiang
新手上路





积分 11
发帖 11
注册 2009-12-29
状态 离线
『第 5 楼』:  

知道了,谢谢版主了

2010-3-9 14:11
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复

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


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



论坛跳转: