BATファイルで環境変数を設定ファイルから読み込む方法2つ
方法①:外部BATファイルにSETコマンドを書く
設定ファイルとしてBATファイルを用意し、CALLコマンドで取り出します
setting.bat (環境設定ファイル)
SET MYENV=HOGEHOGE SET MYENV2=%MYENV%___2
test.bat (実行用BATファイル)
@echo off REM 設定ファイルの読み込み CALL setting.bat ECHO %MYENV% ECHO %MYENV2%
実行すると、こうなります
HOGEHOGE HOGEHOGE___2
方法②:外部テキストファイルに書き、FOR文で取り出す
設定ファイルとしてテキストファイルを用意し、FOR /Fで取り出します
setting.txt (環境設定ファイル)
MYENV=HOGEHOGE MYENV2=%MYENV%___2
test.bat (実行用BATファイル)
@echo off REM 設定ファイルの読み込み FOR /F "usebackq delims== tokens=1,2" %%i IN ("setting.txt") do SET %%i=%%j ECHO %MYENV% ECHO %MYENV2%
実行すると、こうなります
HOGEHOGE %MYENV%___2
※設定ファイル内での環境変数の使い回しはできません
まとめ
読みやすさでは方法①より②のほうがわかりやすく、とっつきやすいかと思います。
また、方法①はただのBATファイルのため、中で使用した変数を使いまわせます。
一方、方法②では変数の使い回しはできません。
シチュエーションに合わせて使いやすい方を使うようにしませう。