4

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マシンでこれを行う方法がわかりません。

前もって感謝します!

4

2 に答える 2

6

あなたが使用することができますfor

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

これにより、シェルスクリプトの例と同様に、空でない行ごとにバッチファイルが1回呼び出されます。

于 2013-03-05T14:10:06.070 に答える