これは、コマンドプロンプト(cmd.exe) Advent Calendar 2015 - Qiitaの12日目の記事です。※Windows 10 Home 64bit 搭載のcmd.exeにて検証を行っています。BATファイルを使って、ひとつ前のコマンドの実行結果を次のコマンドに1行ずつ渡します。

#### each.bat ```dosbatch @set COMMAND=%* @for /f "usebackq tokens=*" %%o in (`findstr .*`) do @( call %%COMMAND:?=%%o%% ) ```
#### 機能 eachの引数に与えたコマンドに渡され、そこに含まれる「?」が、前のコマンドの標準出力の1行の内容に置換されます。
#### 使用例 ```dosbatch C:\test>dir /b aaa bbb ccc each.BAT C:\test>dir /b | each echo ? --- ?.hogehoge aaa --- aaa.hogehoge bbb --- bbb.hogehoge ccc --- ccc.hogehoge each.BAT --- each.BAT.hogehoge ```
#### 簡単な解説 標準入力の内容を「findstr .*」で抜き出して、環境変数の置換機能を使って置換しながら実行します。※環境変数の置換についてはこの前のset /?の記事(コマンドプロンプトで読んでおくべき7つのHELP - その⑤「set /?」 - くんすとの備忘録
)に書いて〼

あると便利な、はず……筈。。