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

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

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

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

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

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

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

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

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

[ 本帖最后由 yue1990 于 2011-3-3 13:57 编辑 ]
1

评分人数

    • Batcher: 感谢给帖子标题标注[已解决]字样PB + 2

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

评分人数

TOP

不考虑特殊字符":
  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. )
复制代码

TOP

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

TOP

返回列表