批处理 用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年
对脚本一窍不通,只要批处理的 展开
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年
对脚本一窍不通,只要批处理的 展开
2个回答
展开全部
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"
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用了两个,先找到包含 “学”字的,然后再从这个结果中找出包含“海”字的。
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询