SET /Pはパイプをうまく読めない。(障害)
例えば、HOGE.CMDが
@ECHO OFF
SETLOCAL
SET /P X=
ECHO X=%X%
SET /P Y=
ECHO Y=%Y%
SET /P Z=
ECHO Z=%Z%
のとき、
HOGE.CMD <HOGE.CMD
はちゃんと読めます。しかし、
MORE HOGE.CMD|HOGE.CMD
の結果は無茶苦茶です。同じ入力なのに結果はばらばらです。
1行の途中で分割したり、空読みしたり、読み飛ばしたり。
回避方法はありません。SET /Pを使わないことです。