我有两个文件:
的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中的选项?
答案 0 :(得分:2)
您可以尝试使用FOR
循环来浏览文件,并将每个文件的内容传送到FINDSTR
。
这样的事情:
@ECHO OFF
FOR /R %%f IN (*.txt) DO (
TYPE %%f | FINDSTR /S /I /L "abc"
)