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

« 環境変数の遅延展開を遅延展開する。 | トップページ | 改行文字変換フィルタをバッチファイルで作る。(その4) »

2008年11月11日 (火)

環境変数の置換文字列に環境変数を使う。

%環境変数:文字列1=文字列2%
で「文字列1」や「文字列2」に環境変数を使うには、「文字列1」や「文字列2」を通常展開、全体を遅延展開します。

!環境変数:%文字列1%=%文字列2%!

もし、「文字列1」や「文字列2」を遅延展開する必要があるとき、「文字列2」は遅延展開できます。

%環境変数:文字列1=!文字列2!%

しかし、「文字列1」は遅延展開できません。

%環境変数:!文字列1!=文字列2% → NG

「文字列1」(と「文字列2」)を遅延展開するには、「文字列1」(と「文字列2」)を遅延展開、全体をCALL %%で遅延展開します。

CALL %%環境変数:!文字列1!=!文字列2!%%

ただし、この場合の「文字列2」の遅延展開は、1パス目に行われるので、2パス目の通常展開時に評価されます。

「文字列2」が2パス目の通常展開時に評価されないようにするには、全体をCMD %%で遅延展開、「文字列2」の遅延展開をエスケープして2パス目に遅延させます。

CMD /V:ON /C %%環境変数:!文字列1!=^^!文字列2^^!%%

« 環境変数の遅延展開を遅延展開する。 | トップページ | 改行文字変換フィルタをバッチファイルで作る。(その4) »