Board logo

标题: [文本处理] [已解决]批处理怎样一次删除含多个关键词的行? [打印本页]

作者: yue1990    时间: 2011-3-2 12:14     标题: [已解决]批处理怎样一次删除含多个关键词的行?

批处理 删除TXT含有某某关键词的行求一段代码,谢谢。

批量删除a.txt含有某某关键词的行,多个关键词用,隔开。

比如删除含有“处理,发贴,休闲,关注”的行。

a.txt比较规则,每行一句话或一个词组。但存在一行同时含有两个以上关键词的情况,如:

-------------------------a.txt----------------------------
定单处理
批处理发贴
休闲时间
关注员工
店长制度
员工纪律
......
----------------------------------------------------------
删除含有“处理,发贴,休闲,关注”的行后,得到:

-------------------------b.txt----------------------------
店长制度
员工纪律
......

----------------------------------------------------------{}

[ 本帖最后由 yue1990 于 2011-3-3 13:57 编辑 ]
作者: Commander    时间: 2011-3-2 13:10

  1. findstr /v "处理 发贴 休闲 关注" a.txt >b.txt
复制代码

作者: CrLf    时间: 2011-3-2 13:43

不考虑特殊字符":
  1. @echo off&setlocal enabledelayedexpansion
  2. for /f "delims=" %%a in (1.txt) do (
  3. set tmp=%%a
  4. set n=
  5. for %%b in (处理 发贴 休闲 关注) do set tmp=!tmp:%%b=" "!
  6. for %%c in ("!tmp!") do set /a n+=1
  7. if "!n!" leq "2" echo %%a
  8. )
复制代码

作者: hzcxdgioa    时间: 2013-11-30 08:05

谢谢lz分享。。。。。。。。。




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