中国DOS联盟论坛

中国DOS联盟

-- 联合DOS 推动DOS 发展DOS --
联盟域名:www.cn-dos.net 论坛域名:www.cn-dos.net/forum
游客 | 登录 | 注册 | 会员 | 搜索 | 中国DOS联盟
中国DOS联盟论坛
现在时间是 2026-08-12 14:23
47,811 主题排行 / 349,897 发帖 / 今日 0 篇 / 48,256 会员排行
DOS批处理 & 脚本技术(批处理室) » for /f 使用时的一个限制。
可打印版本  829 / 4
第1楼 abxialiang 发表于 2010-03-08 12:00
新手上路 发帖 11 积分 11
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 ]
第2楼 HAT 发表于 2010-03-08 12:53
版主 发帖 5,017 积分 9,023
先把34替换成一个文本中不会出现的字符,再用这个字符作为列分隔符。
第3楼 jarry0932 发表于 2010-03-09 01:17
初级用户 发帖 122 积分 128
那就是说不能直接以34本身作为分隔符?就是说不能用2位及以上长度的字符串作为分隔符了?
第4楼 HAT 发表于 2010-03-09 12:06
版主 发帖 5,017 积分 9,023
是的,for命令会把你设置的字符串拆分成单个字符。
第5楼 abxialiang 发表于 2010-03-09 14:11
新手上路 发帖 11 积分 11
知道了,谢谢版主了
[ 联系联盟系统管理团队 - 中国DOS联盟 - 标准版 ]
Sponsored by ifanr Inc | © 2001–2023