批处理 用a.txt中包含的多个任意字符在b.txt中查找符合条件的行并将结果输出到c.txt中(效率要高)

b.txt文件内容1ActaMeteorologicaSinnica气象学报1987年2ACTAOCEANOLOGICASINICA海洋学报1982年2BOUNDARYL... b.txt文件内容
1 Acta Meteorologica Sinnica 气象学报 1987年
2 ACTA OCEANOLOGICA SINICA 海洋学报 1982年
2 BOUNDARY LAYER METEOROLOGY 边界层气象学 1974年
4 BULLETIN OF MARINE SCIENCE 海洋科学通报 2001年

例1:
a.txt (不区分先后顺序)
学 海
输出到c.txt为
2 ACTA OCEANOLOGICA SINICA 海洋学报 1982年
4 BULLETIN OF MARINE SCIENCE 海洋科学通报 2001年

例2:
a.txt (也不区分大小写)
Acta SIN (也不区分大小写)
输出到c.txt为
1 Acta Meteorologica Sinnica 气象学报 1987年
2 ACTA OCEANOLOGICA SINICA 海洋学报 1982年
对脚本一窍不通,只要批处理的
展开
 我来答
xq1850
2013-05-03 · TA获得超过3790个赞
知道大有可为答主
回答量:3155
采纳率:76%
帮助的人:1566万
展开全部
for /f "tokens=1-2 delims= " %%a in (a.txt) do findstr "%%a" b.txt|findstr "%%b">>c.txt
rem 如果有三个任意字符,就把1-2改成1-3,"%%b" 后面加上|findstr "%%c"
追问
对你的回答,首先表示感谢,其次是效率很高
另外,也许是我没有表述清楚

例1:
a.txt (不区分先后顺序)
学 海
输出到c.txt为 (应同时包含 “学”和“海” 这两个字符)
2 ACTA OCEANOLOGICA SINICA 海洋学报 1982年
4 BULLETIN OF MARINE SCIENCE 海洋科学通报 2001年
追答
给你的脚本就是可以实现你的要求的,我测试过。findstr用了两个,先找到包含 “学”字的,然后再从这个结果中找出包含“海”字的。
loleyz
2013-05-03 · TA获得超过737个赞
知道小有建树答主
回答量:1078
采纳率:0%
帮助的人:786万
展开全部
为什么不用C语言做。。。。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式