2018年10月
  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 31      
無料ブログはココログ

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