コマンドプロンプトのバッチでよく見るenabledelayedexpansionの意味

コマンドプロンプトのバッチでよく見るenabledelayedexpansionの意味

enabledelayedexpansion

enable delayed expansionは、遅延展開(実行時に変数を評価し、値を取得する)を有効にするオプションです。このオプションを有効にすると、!で囲まれた変数を展開する際に遅延展開が有効になります。

%x%ではなく!x!というように!で囲んだ変数を使用します。

この変数を遅延展開変数と言ったりします。

遅延展開変数の使い道

バッチファイルのfor文で使うケースがあります。

@echo off
setlocal enabledelayedexpansion

set var=0

echo %var%
echo for start
for %%i in (1,2,3) do (
  set var=%%i
  echo !var!
)
echo for end

echo %var%

コマンドプロンプトでは遅延展開を有効にすることでforループ内の値を動的に取得することが可能になります。

実行結果です。

0
for start
1
2
3
for end
3

コメント

株式会社CONFRAGE ITソリューション事業部をもっと見る

今すぐ購読し、続きを読んで、すべてのアーカイブにアクセスしましょう。

続きを読む

タイトルとURLをコピーしました