2018年6月
          1 2
3 4 5 6 7 8 9
10 11 12 13 14 15 16
17 18 19 20 21 22 23
24 25 26 27 28 29 30
無料ブログはココログ

« パイプ前後の複文中のECHOの行末に空白が付く。 | トップページ | FORコマンドからの途中脱出 »

2007年4月 5日 (木)

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を使わないことです。

« パイプ前後の複文中のECHOの行末に空白が付く。 | トップページ | FORコマンドからの途中脱出 »