findstr在一行中显示匹配项

时间:2015-05-01 15:00:08

标签: windows batch-file findstr

我有两个文件:

的1.txt:

abc
def

2.txt:

abc

请注意2.txt只包含3个字符,没有空行。现在,如果我这样做:

findstr /S /I /L /A:02 "abc" *

我得到了这个结果:

1.txt:abc
2.txt:abc

这是我的期望。但是,在将1.txt重命名为uno.txt并将2.txt重命名为duo.txt(从而更改文件搜索顺序)并运行相同的命令后,我得到了这个:

duo.txt:abcuno.txt:abc

结果在一行中我和以前一样期待两行。当然如果我在duo.txt的末尾添加新行,那么输出是可以的,但如何在不修改文件的情况下做到这一点?是否有一些"力量导致新线" findstr中的选项?

1 个答案:

答案 0 :(得分:2)

您可以尝试使用FOR循环来浏览文件,并将每个文件的内容传送到FINDSTR

这样的事情:

@ECHO OFF

FOR /R %%f IN (*.txt) DO (
  TYPE %%f | FINDSTR /S /I /L "abc"
)