3.環境変数 (3)ローカル環境変数を使用する 〜ここだけの話〜 【コマンドプロンプト、バッチファイルを使わなきゃならなくなった人向けのメモ】
でも、バッチファイルで設定した環境変数がそのまま
コマンドプロンプトに残っているとなにかと都合が悪い。
PATHなどはバッチファイルごとに指定した場合もある。
そのために使うのがsetlocalコマンドとendlocalコマンドである
これで環境変数のスコープを狭めることができる
テスト用バッチファイル
@echo off echo 変数確認 set GLOBAL set LOCAL echo. echo グローバル変数設定 set GLOBAL=hoge echo. setlocal echo setlocal echo 変数確認 set LOCAL set GLOBAL echo ローカル変数設定 set LOCAL=fuga echo 変数確認 set LOCAL set GLOBAL endlocal echo endlocal echo. echo 変数確認 set GLOBAL set LOCAL echo. setlocal echo setlocal echo 変数確認 set LOCAL set GLOBAL echo ローカル変数設定 set LOCAL=foo echo 変数確認 set LOCAL set GLOBAL endlocal echo endlocal echo. echo 変数確認 set LOCAL set GLOBAL echo.
実行結果
変数確認 環境変数 GLOBAL が定義されていません 環境変数 LOCAL が定義されていません グローバル変数設定 setlocal 変数確認 環境変数 LOCAL が定義されていません GLOBAL=hoge ローカル変数設定 変数確認 LOCAL=fuga GLOBAL=hoge endlocal 変数確認 GLOBAL=hoge 環境変数 LOCAL が定義されていません setlocal 変数確認 環境変数 LOCAL が定義されていません GLOBAL=hoge ローカル変数設定 変数確認 LOCAL=foo GLOBAL=hoge endlocal 変数確認 環境変数 LOCAL が定義されていません GLOBAL=hoge
setlocalコマンドとendlocalコマンドの間だけ有効になる