标题: [文本处理] 批处理如何根据关键字查找另一个文本中是否存在相同内容 [打印本页]
作者: blwwlj 时间: 2017-3-17 22:37 标题: 批处理如何根据关键字查找另一个文本中是否存在相同内容
用一文件的内容,在另一文件中查看,要有查找的反馈结果(找到、未找到都要处理)
各位大神好,刚开始学批处理,有一个问题想请各位帮忙下
目前有一文件A,需要按照A文件中的内容,在文件B中的查看:
先读取文件A的第一行,在文件B中查找,若此行已找到,继续查找下一行,以此类推,直到当前行在B中找不到为止;若此行没有找到,跳出for循环
最后需要:
(1)找到的文件(有可能是多个),输出到文件E
(2)未找到的文件(只有一个),输出到文件F
文件A和B请参考附件,文件输出后:
文件E应为:
2017-03-14_aaa.del
2017-03-14_bb.del
文件F应为:
2017-03-14_cc.del
作者: ShowCode 时间: 2017-3-19 20:57
- @echo off
- setlocal enabledelayedexpansion
- >"e.txt" type nul
- for /f %%i in ('more "a.txt"') do (
- if "%%~xi" neq "" (
- set "file=%%i"
- set "file=!file:~0,-1!"
- findstr /i /x "!file!" "b.txt" > nul
- if errorlevel 1 (
- >"f.txt" echo !file!
- goto :eof
- ) else (
- >>"e.txt" echo !file!
- )
- )
- )
复制代码
作者: terse 时间: 2017-3-19 21:52
- @echo off
- findstr /ig:a.txt b.txt
- echo;
- findstr /ivg:a.txt b.txt
- pause
复制代码
作者: ShowCode 时间: 2017-3-19 22:56
回复 3# terse
感觉这样无法实现楼主要求的“遇到查不到的就结束程序”
欢迎光临 批处理之家 (http://www.bathome.net/) |
Powered by Discuz! 7.2 |