参照 http://f32.aaa.livedoor.jp/~kobun/index.php?CMD.EXE%A4%CE%C3%D9%B1%E4%B4%C4%B6%AD%CA%D1%BF%F4%A4%CE%C5%B8%B3%AB 環境変数の即時展開 バッチファイルを書いていると、変数が思っても見なかった動きをして、困ってしまうことがあります。例えば @echo off setlocal set HOGEHOGE="foobar" if %HOGEHOGE% == "foobar" ( set HOGEHOGE="hogehuga" echo %HOGEHOGE% ) endlocal といった内容のバッチファイルがあったとします。これをぱっと見ると"hogehuga"という出力がされると期待してしまいますが、実際に実行してみると"foobar"という出力結果が得られます。なぜこのような結果