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

« コマンドラインで、%のエスケープ方法 | トップページ | 同じ木構造で比較先ディレクトリに同名ファイルがあるものを比較元ディレクトリから削除する。 »

2006年11月 6日 (月)

CALLコマンドと%%で遅延展開を代替する。

IF文やFOR文などの制御文?には使えませんが、ECHO、SET、GOTOなどの実行文?では、
CALLコマンドで、%%変数名%%を使うと、遅延展開?されます。

for %%0 in (a b c) do (
set z=%%0
echo %z%
set y=%z%
echo %y%
)
for %%0 in (a b c) do (
set z=%%0
call echo %%z%%
call set y=%%z%%
call echo %%y%%
)

FOR /F %%0 IN ('%%遅延%%')の'コマンド'内も遅延展開?されます。

« コマンドラインで、%のエスケープ方法 | トップページ | 同じ木構造で比較先ディレクトリに同名ファイルがあるものを比較元ディレクトリから削除する。 »