Board logo

标题: [文本处理] 求批量删除多个文本里的多个含有指定关键字/字符串的行 [打印本页]

作者: 屡败屡战    时间: 2017-9-3 09:24     标题: 求批量删除多个文本里的多个含有指定关键字/字符串的行

本帖最后由 屡败屡战 于 2018-7-20 19:24 编辑

本人有大量文本文件,其中內容含大量无用词组,我准备一个a.txt文件,里面有准备删除的关键字,每行一个关键字。
我想执行操作:
      1、要求在同文件夹下(包含子文件夹)下所有文本文件执行操作,删除其与a.txt文件相符合的关键词,批处理命令该如何写?
      2、延伸一下,如果是批量删除含这些关键饲的“行”,那又该如何写。
    本人收集了一些批处理命令,均不理想,望大绅们启发一下,另外,最好在批处理命令旁边,标注些解释说明,我想学习学习
望大绅们帮帮忙,我有大量文本需要处理,希望能给些提示。
作者: 屡败屡战    时间: 2017-9-3 13:16

本帖最后由 屡败屡战 于 2018-7-21 11:32 编辑

请论坛大师给些启示
作者: hlzj88    时间: 2017-9-4 06:53

  1. @echo off
  2. for /f "delims=" %%a in (关键词列表.ini) do (
  3.    title 关键词---》%%a
  4.    for %%b in (*.txt) do (
  5.       echo %%b
  6.      (
  7.      findstr /v "%%a" "%%b"
  8.      )> #tmp# && move #tmp# "%%b">nul
  9.       ))
  10. echo 全部结束&pause
复制代码
满足第二问的。
作者: 屡败屡战    时间: 2017-9-4 19:02

本帖最后由 屡败屡战 于 2018-7-21 10:42 编辑

谢谢3楼老师,完美的解决“第2问”的问题。谢谢了。
那么:
在同文件夹下(包含子文件夹)里所有文本文件进行执行操作,删除与其a.txt文件里相符合的关键词,批处理命令该如何实现?
作者: 屡败屡战    时间: 2018-7-21 11:34

本帖最后由 屡败屡战 于 2018-7-21 20:11 编辑

请论坛大师给些启示,请问该如何解决?
作者: 屡败屡战    时间: 2018-7-21 20:13

本帖最后由 屡败屡战 于 2018-7-22 08:24 编辑

那么问一下:
如果在同文件夹下(包含子文件夹)里所有文本文件进行执行操作,删除与其a.txt文件里相符合的关键词,批处理命令该如何实现?
作者: 屡败屡战    时间: 2018-7-22 08:27

那么问一下:
如果在同文件夹下(包含子文件夹)里所有文本文件进行执行操作,删除与其文本a.txt文件里相符合的关键词,批处理命令该如何实现?
作者: l00l00    时间: 2018-7-22 10:54

第4句的  *.txt  改一下就可以了。
作者: 屡败屡战    时间: 2018-7-22 16:11

恕我愚笨,*.txt是代表N个文本的,与删除关键词有什么关系吗?
我需要的是:文件夹下(包含子文件夹)里所有文本文件进行执行操作,删除与其文本a.txt文件里相符合的关键词。
作者: 屡败屡战    时间: 2018-7-24 09:59

本帖最后由 屡败屡战 于 2018-7-25 07:36 编辑

我试着改了个代码,但运行无反应,不知咋回事??
  1. set /ivg:关键词.log *.txt
复制代码

作者: 屡败屡战    时间: 2018-7-24 21:17

本帖最后由 屡败屡战 于 2018-7-25 07:36 编辑
  1. set /ivg:关键词.log *.txt
复制代码
此代码运行无任何反应,请指点下
作者: Batcher    时间: 2018-7-24 21:51

回复 11# 屡败屡战


    不用试了,findstr没那功能,替换或删除关键词可以用set命令




欢迎光临 批处理之家 (http://www.bathome.net/) Powered by Discuz! 7.2