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    
無料ブログはココログ

« パイプの前後は子CMDプロセスで実行されます。 | トップページ | スクリプトからシフトキー類の押し下げ状態を調べる。 »

2007年3月18日 (日)

パイプの前後で遅延展開を使う。

パイプの前後の複文で遅延展開を使うにはどうするか?

CALLと%%を使う。^で変数名をエスケープします。^で^をエスケープします。

set aaa=111
(
set aaa=222
call echo %%^^aaa%%
)|more

CMD /V:ONを使う。^で!をエスケープします。

setlocal enabledelayedexpansion
set aaa=111
cmd /v:on /s /c "(set aaa=222 &echo ^!aaa^!)"|more

« パイプの前後は子CMDプロセスで実行されます。 | トップページ | スクリプトからシフトキー類の押し下げ状態を調べる。 »