中国DOS联盟论坛

中国DOS联盟

-- 联合DOS 推动DOS 发展DOS --
联盟域名:www.cn-dos.net 论坛域名:www.cn-dos.net/forum
游客 | 登录 | 注册 | 会员 | 搜索 | 中国DOS联盟
中国DOS联盟论坛
现在时间是 2026-08-11 06:08
47,811 主题排行 / 349,897 发帖 / 今日 0 篇 / 48,256 会员排行
DOS批处理 & 脚本技术(批处理室) » [求助]批处理删除文本前每行最前面指定数量的字符
可打印版本  1,009 / 8
第1楼 w1314ich 发表于 2009-01-25 01:04
中级用户 发帖 119 积分 234
[求助]批处理删除文本前每行最前面指定数量的字符
有一个文本,每行前面都有五个数字加一个TAB字符,我想批量删除它们该如何实现。(每行数字都是不一样的)
第2楼 slore 发表于 2009-01-25 01:09
铂金会员 发帖 2,478 积分 5,212
set /?

按2下空格最后开始看……
第3楼 w1314ich 发表于 2009-01-25 01:12
中级用户 发帖 119 积分 234
看不太懂,能给详细点吗,麻烦大哥了
第4楼 yishanju 发表于 2009-01-25 02:40
银牌会员 发帖 1,357 积分 1,488
咔咔 ,还是推荐超好用的字符查找替换工具 FR :在这里可以下载到http://baiy.cn/utils/fr/index.htm

如果在批处理用上FR 事情会变得简单很多
第5楼 yishanju 发表于 2009-01-25 03:35
银牌会员 发帖 1,357 积分 1,488
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
第6楼 yishanju 发表于 2009-01-25 03:39
银牌会员 发帖 1,357 积分 1,488
for /f "tokens=1,2*" %%i in (a.txt) do (
echo %%j>>b.txt
)
第7楼 w1314ich 发表于 2009-01-25 11:36
中级用户 发帖 119 积分 234
FR很好用,但是六楼的批处理用了之后有个很大的问题,如文本:
92045 林本石 85 203
93412 陈立声 98 291
用六楼的批处理处理后的结果:
林本石
陈立声

后面的 85 203
98 291
没有了,批处理应该怎么改下
第8楼 yishanju 发表于 2009-01-25 16:49
银牌会员 发帖 1,357 积分 1,488
哈哈,所以说嘛,推荐用FR 可以省掉考虑很多事情。
你提问的时候应该把要修改的文本传上来一份,或者贴出类似一部份内容。别人才容易写对代码。

你自己多看看FOR 命令的帮助,论坛里的资料,例子非常多,学会for set findstr 几个命令足够你处理很多情况下的文本了。

[ Last edited by yishanju on 2009-1-25 at 17:05 ]
第9楼 slore 发表于 2009-01-25 17:34
铂金会员 发帖 2,478 积分 5,212
@echo off
for /f "tokens=2 delims= " %%i in (a.txt) do (
echo %%i>>b.txt
)

delims=后面是Tab字符,不是8个空格
[ 联系联盟系统管理团队 - 中国DOS联盟 - 标准版 ]
Sponsored by ifanr Inc | © 2001–2023