2017年11月
      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    
無料ブログはココログ

« unix tee擬似バッチファイル(その2) | トップページ | SET /Pはパイプをうまく読めない。(障害) »

2007年4月 4日 (水)

パイプ前後の複文中のECHOの行末に空白が付く。

(
echo aaa
echo bbb
)|hoge

では、

"aaa "
"bbb "

のようにECHOの行末に空白が付きます。

パイプの前後は、子CMDプロセスで実行されますが、
このとき、複文がcmd.exeによって、
cmd.exe /S /D /c" ( echo aaa & echo bbb )"
のように1行に整形されます。
こうして空白が付加されます。

したがって回避方法は、自分で複文を1行に整形する。

cmd /s /c "echo aaa&echo bbb"|hoge

或いは、複文を別のバッチファイルにする。

sub.cmd|hoge

« unix tee擬似バッチファイル(その2) | トップページ | SET /Pはパイプをうまく読めない。(障害) »