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