LoginSignup
11
13

More than 5 years have passed since last update.

環境変数を別ファイルにまとめて定義する

Posted at

実行時に環境変数を切り替えたいので、別ファイルに抜き出すバッチファイルを作成してみた。

1. loadenv.bat 作成

以下の内容で、loadenv.bat を作成する。

@for /f "delims=" %%i in (%1) do @( call :_check %%i )
@set __x=
@exit /b 0

:_check
  @set __x=%*
  @if not "%__x:~0,1%" == "#" ( call :_set %* )
@exit /b 0

:_set
  @set %*
@exit /b 0

2. 環境変数定義ファイルを作成する

以下のフォーマットで環境変数定義ファイルを作成する。
拡張子はなんでもいい。

env.txt
# シャープを付けるとコメントが書ける
hoge=fuga

# この値は設定されない
#foo=bar

# 値にはスペースが含まれていてもいい
abc=a b c

3. 実行する

loadenv.bat をカレントディレクトリかパスが通っている場所に配置し、呼び出す。

call loadenv env.txt

4. 確認する

(loadenv)

> echo %hoge%
fuga

> echo %foo%
%foo%

> echo %abc%
a b c

5. まとめ

設定をバッチファイルに直書きしなくてもいいし、コメントも使えて便利!!

11
13
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
11
13