Board logo

标题: [文本处理] 批处理如何筛选TXT文件中包含某字词的行导出? [打印本页]

作者: chuan31    时间: 2011-6-6 21:02     标题: 批处理如何筛选TXT文件中包含某字词的行导出?

RT 我有一个文件夹,里面有很多TXT 文件,TXT文件里面的数据一行一行的 请高手写个代码 实现提取这个文件夹中所有TXT文件中包含QQ这个词的行导出为一个新的文件。这个要筛选的词 随时要换的。
作者: Batcher    时间: 2011-6-6 21:09

  1. @echo off
  2. set "str=QQ"
  3. (for /f "tokens=1* delims=:" %%a in ('findstr "%str%" *.txt') do (
  4.     echo,%%b
  5. ))>new.log
复制代码

作者: chuan31    时间: 2011-6-6 21:35

谢谢老大 很好用
作者: yaua    时间: 2011-7-26 11:58

借帖子再问个问题,如果要查找的字符含有空格,在set "str=QQ"这里如何修改
作者: tmplinshi    时间: 2011-7-26 15:22

本帖最后由 tmplinshi 于 2011-7-26 15:23 编辑
借帖子再问个问题,如果要查找的字符含有空格,在set "str=QQ"这里如何修改
yaua 发表于 2011-7-26 11:58


@echo off
set "str=QQ 2011"
(for /f "tokens=1* delims=:" %%a in ('findstr /c:"%str%" *.txt') do (
    echo,%%b
))>new.log


如果要忽略大小写,再加一个 /i 参数:
findstr /i /c:"%str%" *.txt
作者: yaua    时间: 2011-7-26 17:14

非常感谢
还有个问题,要是查找的字符不知一个,比如 qq 或 2011 两个关键词
作者: Batcher    时间: 2011-7-26 19:42

回复 6# yaua


请单独发帖提问




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