Board logo

标题: [文本处理] [已解决]批处理命令findstr查找字符串时怎样不列出文件路径? [打印本页]

作者: 无知小菜鸟    时间: 2012-8-28 10:06     标题: [已解决]批处理命令findstr查找字符串时怎样不列出文件路径?

本帖最后由 无知小菜鸟 于 2012-9-12 15:42 编辑

用   findstr /g:string.txt  c:\a\b\c\d\e\f\g\h\sz*.log>>xx.txt
这个语句查找一系列文件sz*.log的时候会列出文件路径,我想问下,使用findstr方法的查找一系列文件中的字符串时候有没有不列出文件路径的办法
作者: 无知小菜鸟    时间: 2012-8-28 10:43

高手来回答下呗,还有我查找文档中用 findstr  "你好我 我好你" d:\test.txt   查找test.txt中的包含“你好我”或者是“我好你”的记录的时候为什么不能显示出来,教程中貌似是这样讲的吧
作者: 狗屁不通    时间: 2012-8-28 11:27

回复 2# 无知小菜鸟

  1.    findstr "你好我" D:\test.txt|findstr "我好你"
复制代码

作者: apang    时间: 2012-8-28 12:22

1.用for读取
  1. @echo off
  2. (for /f "tokens=2* delims=:" %%a in ('findstr /g:string.txt "c:\a\b\c\d\e\f\g\h\sz*.log"') do (
  3.   echo,%%b
  4. ))>xx.txt
复制代码
2.加/i试试
  1. findstr  /i "你好我 我好你" d:\test.txt
复制代码

作者: 无知小菜鸟    时间: 2012-8-28 13:23

回复 3# 狗屁不通


    管道符|的作用是把前面一条命令的结果作为后面一条命令的输入来用,所以你这方法是不对的。
作者: 无知小菜鸟    时间: 2012-8-28 13:26

回复 4# apang


    懂你的意思了,是相当于在查找中的结果再以:为分隔符提取一次,还是有经验的人厉害,我脑子转不过来
作者: 狗屁不通    时间: 2012-8-28 17:21

回复 6# 无知小菜鸟

小菜鸟 我那叫双重过滤
作者: 无知小菜鸟    时间: 2012-8-28 17:27

本帖最后由 无知小菜鸟 于 2012-8-28 17:29 编辑

回复 7# 狗屁不通


表情都搞不出.........
作者: 狗屁不通    时间: 2012-8-28 17:37

回复 8# 无知小菜鸟


   
作者: CrLf    时间: 2012-9-12 18:56

先 type 再 findstr
  1. type c:\a\b\c\d\e\f\g\h\sz*.log 2>nul|findstr /g:string.txt>>xx.txt
复制代码





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