Board logo

标题: [文本处理] [已解决]批处理如何判断文件中的内容是否包含指定字符串? [打印本页]

作者: a55667896    时间: 2009-12-3 22:50     标题: [已解决]批处理如何判断文件中的内容是否包含指定字符串?

用批处理判读一目录下所有.xml文件中是否有字符串“11111”、“22222”、“33333”,如果有,则显示“1”或“2”或“3”。

用findstr命令么?判断怎么写?高人赐教,谢谢

[ 本帖最后由 a55667896 于 2009-12-16 23:33 编辑 ]
作者: batman    时间: 2009-12-4 00:23

请楼主将问题描述清楚,是每查找一个文件输出一次?还是全部查找后输出一次?还有输出是什么样的格式?
作者: a55667896    时间: 2009-12-7 12:56     标题: 回复 2楼 的帖子

全部查找完后输出。

在一目录下查找所有的XMl文件,如果有字符串“11111”则输出显示“1”,如果有字符串“22222”,则输出显示“2”,有“33333”,则显示“3”,有“11111”“22222”,则显示“1”“2”
作者: a55667896    时间: 2009-12-8 22:39

那位帮个忙撒   呜呜
作者: a55667896    时间: 2009-12-15 21:46     标题: 【求助】判断某个文件夹中所有的TXT中是否存在特定字符

用批处理判断C:\test文件夹中所有的TXT文件中是否存在特定的字符,例如:
C:\test下有5(或许更多)个txt文件,分别是1.txt、2.txt、3.txt、4.txt、5.txt
判断这5个TXT中是否存在字符串“AAAAA”或“BBBBB”或“CCCCC”或“DDDDD”,
如果存在“AAAAA”,则显示存在A
如果存在“BBBBB”,则显示存在B
。。。。。。
如果同时存在“AAAAA”、“BBBBB”,则显示存在A、B
以此类推。。。。

这些特定字符串随机存在这个5个TXT中。
一次判断所有TXT,然后显示出来。

有高手帮个忙,谢谢了
作者: zqz0012005    时间: 2009-12-16 12:35

>判断这5个TXT中是否存在字符串xxx
>如果同时存在“AAAAA”、“BBBBB”
是每个txt中同时存在,还是所有txt分别存在一个字符串加起来再算同时存在?

另外,请尽量给出实际数据,或者如果不方便,就给出与实际类似的数据。
你现在的数据规律性如果与实际不同,代码就要按需改动。
作者: a55667896    时间: 2009-12-16 23:05     标题: 回复 6楼 的帖子

加起来再算同时存在

其实可以理解为讲C:\test中的所有TXT合并成一个TXT,再判断是否有要求的特殊字符串

例如:
1.txt中有AAAAA   BBBBB
2.txt中有AAAAA  BBBBB  CCCCC  DDDDD
3.txt中有BBBBB
4.txt中有CCCCC
5.txt中有DDDDD

则显示存在A B C D
————————————————————————————
或者例如:
1.txt中有 BBBBB
2.txt中有 CCCCC  DDDDD
3.txt中有BBBBB
4.txt中有CCCCC
5.txt中有DDDDD

则显示存在B C D

1.txt中有 BBBBB
2.txt中有 BBBBB
3.txt中有BBBBB
4.txt中有BBBBB
5.txt中有BBBBB

则显示存在 B

版主帮个忙  谢谢
作者: Batcher    时间: 2009-12-16 23:24

  1. @echo off
  2. set strA=
  3. set strB=
  4. set strC=
  5. set strD=
  6. findstr "AAAAA" *.txt >nul 2>&1 && set strA=A
  7. findstr "BBBBB" *.txt >nul 2>&1 && set strB=B
  8. findstr "CCCCC" *.txt >nul 2>&1 && set strC=C
  9. findstr "DDDDD" *.txt >nul 2>&1 && set strD=D
  10. echo 存在:%strA%%strB%%strC%%strD%
复制代码

作者: a55667896    时间: 2009-12-16 23:33     标题: 回复 8楼 的帖子

十分感谢, 呵呵




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