Windows-バッチ,設定(ini)ファイルを読み込む方法

スポンサーリンク

鍛錬 451

Windows-バッチ,設定(コンフィグ,ini)ファイルを読み込み、変数に格納する方法

バッチファイルで、設定(コンフィグ,ini)ファイルを読み込み、変数に格納する方法についてです。

 
スポンサーリンク

設定ファイル

以下は、今回読み込む設定ファイル config.txt です。

設定ファイルの構造は、「左側 (項目名)=右側 (値)」とします。
記号の「#」が先頭にある場合は、コメントアウトとします。

# 年齢,身長,体重

# ウィリアム君
William_age=21
William_height=168
William_weight=55

# ジェームズ君
James_age=23
James_height=171
James_weight=63

# オリバー君
Oliver_age=25
Oliver_height=187
Oliver_weight=75

バッチファイル

以下は、設定ファイル config.txt から読み込んで変数に格納するバッチファイル、read_config.bat です。

9行目の eol=# の箇所を、例えば eol=; にすると、設定ファイル内でのコメントアウト記号を、# ではなく ; に変更することができます。

@echo off

setlocal

rem 設定ファイル名を格納
set INI_FILENAME=config.txt

rem 設定ファイルから読込
for /F "usebackq eol=# tokens=1,2 delims==" %%a in ("%INI_FILENAME%") do (
	set %%a=%%b
)

echo -----------------------

rem ウィリアム君
echo William [age]    = %William_age%
echo William [height] = %William_height%
echo William [weight] = %William_weight%

echo -----------------------

rem ジェームズ君
echo James   [age]    = %James_age%
echo James   [height] = %James_height%
echo James   [weight] = %James_weight%

echo -----------------------

rem オリバー君
echo Oliver  [age]    = %Oliver_age%
echo Oliver  [height] = %Oliver_height%
echo Oliver  [weight] = %Oliver_weight%

echo -----------------------

endlocal

exit /b 0

実行結果

以下は、バッチファイル read_config.bat を実行しています。

D:\tmp>
D:\tmp>read_config.bat
-----------------------
William [age]    = 21
William [height] = 168
William [weight] = 55
-----------------------
James   [age]    = 23
James   [height] = 171
James   [weight] = 63
-----------------------
Oliver  [age]    = 25
Oliver  [height] = 187
Oliver  [weight] = 75
-----------------------

 
上記に示した通り、設定ファイルを読み込んで変数に格納することができました。

スポンサーリンク

シェアする

フォローする