バッチファイルで環境変数が設定されない

バッチファイル内で環境変数の値を設定しても値が変更されないことがあります。その場合、次の例のようにIF文やFOR文の中でSETしていないか確認してみてください。

このバッチを実行するとyyyではなくxxxが表示されます。

その時は環境変数を%では無く!で括って、さらに以下のコマンドを挿入してみてください。

setlocal enabledelayedexpansion

上の例をそのように変更してみます。

環境変数の値はデフォルトだと即時に評価されてしまいます。そのような事態を避けるために前述のコマンドが必要になります。このような環境変数を遅延環境変数といいます

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です