Board logo

标题: [求助]批处理删除文本前每行最前面指定数量的字符 [打印本页]

作者: w1314ich     时间: 2009-1-25 01:04    标题: [求助]批处理删除文本前每行最前面指定数量的字符

有一个文本,每行前面都有五个数字加一个TAB字符,我想批量删除它们该如何实现。(每行数字都是不一样的)

作者: slore     时间: 2009-1-25 01:09
set /? 按2下空格最后开始看……

作者: w1314ich     时间: 2009-1-25 01:12
看不太懂,能给详细点吗,麻烦大哥了

作者: yishanju     时间: 2009-1-25 02:40
咔咔 ,还是推荐超好用的字符查找替换工具 FR :在这里可以下载到baiy.cn/utils/fr/ind ... 如果在批处理用上FR 事情会变得简单很多

作者: yishanju     时间: 2009-1-25 03:35
a.txt 内容: 41777 dddfd 78757 df 46565 sdfo9 35346 er 35555 weweeeeeeeeeeeeeeeeeeeeeeeee 34235 35 43643 dfffffffffd 35435 dfdsf 用FR 替换的话这样写: fr a.txt -ric:"^[0-9]*\t" -t

作者: yishanju     时间: 2009-1-25 03:39
for /f "tokens=1,2*" %%i in (a.txt) do ( echo %%j>>b.txt )

作者: w1314ich     时间: 2009-1-25 11:36
FR很好用,但是六楼的批处理用了之后有个很大的问题,如文本: 92045 林本石 85 203 93412 陈立声 98 291 用六楼的批处理处理后的结果: 林本石 陈立声 后面的 85 203 98 291 没有了,批处理应该怎么改下

作者: yishanju     时间: 2009-1-25 16:49
哈哈,所以说嘛,推荐用FR 可以省掉考虑很多事情。 你提问的时候应该把要修改的文本传上来一份,或者贴出类似一部份内容。别人才容易写对代码。 你自己多看看FOR 命令的帮助,论坛里的资料,例子非常多,学会for set findstr 几个命令足够你处理很多情况下的文本了。 [ Last edited by yishanju on 2009-1-25 at 17:05 ]

作者: slore     时间: 2009-1-25 17:34
@echo off for /f "tokens=2 delims= " %%i in (a.txt) do ( echo %%i>>b.txt ) delims=后面是Tab字符,不是8个空格