Board logo

标题: for /f 使用时的一个限制。 [打印本页]

作者: abxialiang     时间: 2010-3-8 12:00    标题: 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 ]
作者: HAT     时间: 2010-3-8 12:53
先把34替换成一个文本中不会出现的字符,再用这个字符作为列分隔符。
作者: jarry0932     时间: 2010-3-9 01:17
那就是说不能直接以34本身作为分隔符?就是说不能用2位及以上长度的字符串作为分隔符了?
作者: HAT     时间: 2010-3-9 12:06
是的,for命令会把你设置的字符串拆分成单个字符。
作者: abxialiang     时间: 2010-3-9 14:11
知道了,谢谢版主了