找回密码
 注册
搜索
[新手上路]批处理新手入门导读[视频教程]批处理基础视频教程[视频教程]VBS基础视频教程[批处理精品]批处理版照片整理器
[批处理精品]纯批处理备份&还原驱动[批处理精品]CMD命令50条不能说的秘密[在线下载]第三方命令行工具[在线帮助]VBScript / JScript 在线参考
查看: 22792|回复: 3

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

[复制链接]
发表于 2017-3-17 22:37:32 | 显示全部楼层 |阅读模式
用一文件的内容,在另一文件中查看,要有查找的反馈结果(找到、未找到都要处理)
各位大神好,刚开始学批处理,有一个问题想请各位帮忙下

目前有一文件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
发表于 2017-3-19 20:57:29 | 显示全部楼层
  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. )
复制代码
发表于 2017-3-19 21:52:02 | 显示全部楼层
  1. @echo off
  2. findstr /ig:a.txt b.txt
  3. echo;
  4. findstr /ivg:a.txt b.txt
  5. pause
复制代码
发表于 2017-3-19 22:56:44 | 显示全部楼层
回复 3# terse


    感觉这样无法实现楼主要求的“遇到查不到的就结束程序”
您需要登录后才可以回帖 登录 | 注册

本版积分规则

Archiver|手机版|小黑屋|批处理之家 ( 渝ICP备10000708号 )

GMT+8, 2026-3-19 22:17 , Processed in 0.012626 second(s), 7 queries , File On.

Powered by Discuz! X3.5

© 2001-2026 Discuz! Team.

快速回复 返回顶部 返回列表