Windows批处理:搜索文件中的所有文件,如果行包含"apple"或"tomato"则回显它

Jsn*_*605 4 windows cmd batch-file findstr

我正在尝试编写一个简单的批处理,它将遍历文件中的每一行,如果该行包含"apples"或"tomato",则输出该行.

我有这个代码找到一个字符串并输出它但我不能在同一批次中得到第二个.我也想让它回应它找到它们的线条.

@echo OFF

for /f "delims=" %%J in ('findstr /ilc:"apple" "test.txt"') do (
echo %%J
)
Run Code Online (Sandbox Code Playgroud)

它需要找到包含"苹果"或"番茄"的行我可以使用我需要的两条线轻松运行上面的代码,但我需要相互输出的行.

例如,我需要:

apple
tomato
tomato
apple
tomato
apple
apple
Run Code Online (Sandbox Code Playgroud)

不:

apple
apple
apple
Run Code Online (Sandbox Code Playgroud)

然后

tomato
tomato
tomato
Run Code Online (Sandbox Code Playgroud)

提前致谢.

ixe*_*013 5

Findstr 已经为你做了这个:

@findstr /i "tomato apple" *.txt
Run Code Online (Sandbox Code Playgroud)

*.txt用您的通配符(和番茄苹果替换您想要的单词)替换.

如果你必须改变输出,那么for派上用场:

@echo off

for /f %%i in ('findstr /i "tomato apple" *.txt') do @echo I just found a %%i
Run Code Online (Sandbox Code Playgroud)