| Works
バッチファイルで外部設定ファイルを読み込む
よくある件ではありますが、お仕事で相談を受けたのでメモ。
やり方としては"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とかだとこちらがメインですからね。まだまだ付き合っていかないといけないかと。