楼 主
批处理怎么在多个文本中查找指定内容,并添加新内容
发表于 2010-04-29 10:22 · 中国 甘肃 兰州 电信
新手上路
★
积分 3
发帖 3
注册 2010-04-16 10:16
16年会员
UID 164712
性别 男
状态 离线
一个文件夹下有100多文本文件,每个TXT文件的内容如下:
【1.txt】
2000 橡胶
4000 乙烯
400 聚苯乙烯
200 碳4
.......
【2.txt】
1500 橡胶
150 石油焦
240 乙烯
1000 石脑油
......
【3.txt】
2500 重油
640 柴油
140 乙烯
.....
现在想要在这些文本文件中查找“乙烯”,并在其下面添加4行内容:
@echo off
for %%a in (*.txt) do (
(for /f "tokens=1,2" %%b in (%%a) do (
if "%%c" equ "乙烯" (
echo %%b %%c
echo %%b 铁矿
echo %%b 铜矿
echo %%b 锡矿
echo %%b 镍矿
) else (
echo %%b %%c
)
))>temp
del /q %%a&ren temp %%a
)
echo 搞定!&pause>nul
这个代码不能执行,帮忙看看哪里错了。
第 2 楼
发表于 2010-04-29 10:34 · 中国 北京 中电华通通信有限公司
高级用户
★★★
据说是李先生
积分 609
发帖 400
注册 2008-04-23 15:55
18年会员
UID 116706
性别 男
状态 离线
看看这样行不行:
@echo off
for %%a in (*.txt) do (
(for /f "tokens=1,2" %%b in ('type "%%a"') do (
if "%%c" equ "乙烯" (
echo %%b %%c
echo %%b 铁矿
echo %%b 铜矿
echo %%b 锡矿
echo %%b 镍矿
) else (
echo %%b %%c
)
))>temp
del /q %%a&ren temp %%a
)
echo 搞定!&pause>nul
第 3 楼
发表于 2010-04-29 11:27 · 中国 湖北 黄石 电信
中级用户
★★
积分 330
发帖 244
注册 2006-04-14 14:07
20年会员
UID 53823
性别 男
来自 湖北
状态 离线
for 中最后一行:
del /q %%a&ren temp %%a
拆成两行
del /q %%a
ren temp %%a
第 4 楼
发表于 2010-04-29 11:37 · 中国 甘肃 兰州 电信
新手上路
★
积分 3
发帖 3
注册 2010-04-16 10:16
16年会员
UID 164712
性别 男
状态 离线
拆成两行,可以了。
另外问一下 第一个FOR里 %%a in (*.txt) 改成%%a in ('dir *.txt')可以吗?两者的区别是什么
第 5 楼
发表于 2010-04-29 11:46 · 中国 甘肃 兰州 电信
新手上路
★
积分 3
发帖 3
注册 2010-04-16 10:16
16年会员
UID 164712
性别 男
状态 离线
第 6 楼
发表于 2010-04-29 12:43 · 中国 湖北 黄石 电信
中级用户
★★
积分 330
发帖 244
注册 2006-04-14 14:07
20年会员
UID 53823
性别 男
来自 湖北
状态 离线
Originally posted by binsea at 2010-4-29 11:46:
好像还是不行,文件名都是汉字就不行了
这个不是汉字问题,而是文件名中有空格的原因,更改如下可解决:
@echo off
for %%a in (*.txt) do (
(for /f "usebackq tokens=1,2" %%b in ("%%~a") do (
if "%%c" equ "乙烯" (
echo %%b %%c
echo %%b 铁矿
echo %%b 铜矿
echo %%b 锡矿
echo %%b 镍矿
) else (
echo %%b %%c
)
))>temp
del /q "%%~a"
ren temp "%%~a"
)
echo 搞定!&pause>nul
回楼上:for 的用法找置顶贴子,讲的很详细
第 7 楼
发表于 2010-04-29 14:23 · 中国 北京 联通
银牌会员
★★★★
[b]看你妹啊[/b]
积分 1,488
发帖 1,357
注册 2006-05-20 12:00
20年会员
UID 55770
状态 离线
fr *.txt -ric:"(.*乙烯.*)" -t:"\1铁矿\r\n铜矿\r\n锡矿\r\n镍矿\r\n"
[ Last edited by yishanju on 2010-4-29 at 15:21 ]
有问题请发论坛或者自行搜索,再短消息问我的统统是SB
论坛跳转: