[新手上路]批处理新手入门导读[视频教程]批处理基础视频教程[视频教程]VBS基础视频教程[批处理精品]批处理版照片整理器
[批处理精品]纯批处理备份&还原驱动[批处理精品]CMD命令50条不能说的秘密[在线下载]第三方命令行工具[在线帮助]VBScript / JScript 在线参考
返回列表 发帖

[文本处理] 批处理如何根据关键字查找另一个文本中是否存在相同内容

用一文件的内容,在另一文件中查看,要有查找的反馈结果(找到、未找到都要处理)
各位大神好,刚开始学批处理,有一个问题想请各位帮忙下

目前有一文件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

  1. @echo off
  2. setlocal enabledelayedexpansion
  3. >"e.txt" type nul
  4. for /f %%i in ('more "a.txt"') do (
  5.     if "%%~xi" neq "" (
  6.         set "file=%%i"
  7.         set "file=!file:~0,-1!"
  8.         findstr /i /x "!file!" "b.txt" > nul
  9.         if errorlevel 1 (
  10.             >"f.txt" echo !file!
  11.             goto :eof
  12.         ) else (
  13.             >>"e.txt" echo !file!
  14.         )
  15.     )
  16. )
复制代码

TOP

  1. @echo off
  2. findstr /ig:a.txt b.txt
  3. echo;
  4. findstr /ivg:a.txt b.txt
  5. pause
复制代码

TOP

回复 3# terse


    感觉这样无法实现楼主要求的“遇到查不到的就结束程序”

TOP

返回列表