BATファイルで環境変数を設定ファイルから読み込む方法2つ
Contents
### 概要
WindowsのBATファイル(*.bat)で、環境変数を外部ファイルから読み込む方法を2通り解説します。
DLLなどは不要です。
DLLなどは不要です。
### 方法①:外部BATファイルにSETコマンドを書く
設定ファイルとしてBATファイルを用意し、CALLコマンドで取り出しますsetting.bat (環境設定ファイル)
```dosbatch
SET MYENV=HOGEHOGE
SET MYENV2=%MYENV%___2
```test.bat (実行用BATファイル)
```dosbatch
@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ファイル)
```dosbatch
@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ファイルのため、中で使用した変数を使いまわせます。
一方、方法②では変数の使い回しはできません。
シチュエーションに合わせて使いやすい方を使うようにしませう。
一方、方法②では変数の使い回しはできません。
シチュエーションに合わせて使いやすい方を使うようにしませう。