遅延環境変数 【delayed environment variable expansion】 環境変数の遅延展開

概要

遅延環境変数(delayed environment variable expansion)とは、Windowsバッチファイル(.batファイル)内で変数を使う際、ブロック内でのの反映を遅延させる機能。変数名エクスクラメーションマーク(!)で囲って記す。

バッチファイルWindowsコマンドラインで連続で実行したいコマンドテキストファイルに記録したもので、ファイル名を指定するだけで1ずつ次々に実行される。簡易なプログラミング言語としての機能もあり、変数条件分岐if文)、繰り返し(for文)、コードブロックなどを利用できる。

仕様上、if文for文で複数のコマンドを一つのブロックにまとめると、変数への展開はブロックの入り口に到達した時点でわれる。これだとブロック内でを変更してもそのブロックが終わるまで変更結果が反映されず、ブロック内では常に古いが参照されてしまう。

これを避けるための仕組みが環境変数の遅延展開で、通常は「%変数名%」とする変数の指定を「!変数名!」とする。こうすると、変数への置き換えは実際にその変数が参照されるコマンドに到達するまでわれない。ブロック内でを変更した場合でも、後続のコマンドで変更後のを参照できるようになる。

(2022.4.13更新)
この記事の著者 : (株)インセプト IT用語辞典 e-Words 編集部
1997年8月より「IT用語辞典 e-Words」を執筆・編集しています。累計公開記事数は1万ページ以上、累計サイト訪問者数は1億人以上です。学術論文や官公庁の資料などへも多数の記事が引用・参照されています。
ホーム画面への追加方法
1.ブラウザの 共有ボタンのアイコン 共有ボタンをタップ
2.メニューの「ホーム画面に追加」をタップ
閉じる