我在Windows上使用grep来过滤文件,并希望将输出传递到另一个批处理脚本。

例如

grep "foo" bar.txt | mybatch.bat


在mybatch中,我想处理每条匹配的线

例如mybatch.bat:

echo Line with foo: %1


在Linux上,我可以通过解决

grep "foo" bar.txt | while read x; do mybatch.sh $x; done


但不知道如何在Windows计算机上执行此操作。

提前致谢!

最佳答案

您可以使用for

for /f %x in ('grep "foo" bar.txt') do call mybatch.cmd "%x"


这将为每个非空行调用一次批处理文件,就像您的shell脚本示例一样。

07-26 07:15