2007/05/10

WindowsのバッチファイルでKEY=VALUEのプロパティファイルを読み込む

WindowsのバッチファイルでKEY=VALUEのプロパティファイルを読み込み、VALUEを取得する方法


@setlocal
@echo off

set PROPFILE=%HOME%/hoge.properties

if exist "%PROPFILE%" (
for /F "eol=# delims== tokens=1,2" %%i in (%PROPFILE%) do (
if "%%i" == "KEY" (
set VALUE="%%j"
goto end
)
)
) else (
echo ERROR %PROPFILE% can not be found.
)
:end

echo KEY=%VALUE%

endlocal



例えばURLが指定されたhoge.urlから各種要素を取得する場合


@setlocal
@echo off

set PROPFILE=%HOME%/hoge.properties

if exist "%PROPFILE%" (
for /F "eol=# delims== tokens=1,2" %%i in (%PROPFILE%) do (
if "%%i" == "hoge.url" (
set _URL="%%j"
for /F "delims=: tokens=1-3" %%l in ("%%j") do (
set _PROTCOL=%%l
set _PORT=%%n
for /F "delims=/ tokens=1-3" %%x in ("%%m") do (
set _HOST=%%x
goto end
)
)
)
)
) else (
echo ERROR %PROPFILE% can not be found.
)
:end

echo hoge.url=%_URL%
echo PROTOCOL=%_PROTCOL%
echo HOST=%_HOST%
echo PORT=%_PORT%

endlocal

0 件のコメント: