URAMIRAIKAN

1020のなれの果て (since 2005.6.19)

バッチファイルで外部設定ファイルを読み込む

 よくある件ではありますが、お仕事で相談を受けたのでメモ。

 やり方としては"SET ~"文だけを切り出す方法もありますが、個人的には"FOR ~"文を使う方が好みです。こちらの方が外部ファイルが純粋な設定っぽく見えるので。

 まずはメインの処理。外部ファイルを読み込んで、変数にして"ECHO"で出力するだけです。
 それだけでは芸がないので、バッチファイルと外部ファイルを同じフォルダに置いておけばどこから実行しても読み込めるようにしました。

@ECHO OFF REM カレントフォルダの移動 PUSHD %0\.. CLS REM "userlist.txt"の読み込み FOR /F "usebackq delims== tokens=1,2" %%a IN ("userlist.txt") DO SET %%a=%%b ECHO %USERID01% %PASSWD01% ECHO %USERID02% %PASSWD02% EXIT

 読み込むファイル"userlist.txt"はこんな感じ

USERID01=Administrator PASSWD01=adminpassword USERID02=User PASSWD02=userpassword

 実行するとこんな感じ。

C:\>CMD /C READFILE.bat
Administrator adminpassword
User userpassword

 バッチファイルとかWSHとかよりPowerShellに移行したいところですが、まだまだWindows Server 2003とかだとこちらがメインですからね。まだまだ付き合っていかないといけないかと。