2012年11月21日水曜日

[Script][BAT]パラメータファイルを読み込んで処理を行う(FOR)

パラメータファイルを読み込み、そのパラメータを使って処理を行う。

パラメータファイルを読み込んで処理を行う ====================================================
カレントフォルダの"pass"ファイルを読み込みながらパラメータを取得
 eol ファイルの終端を示す記号(適当に指定)
 tokens パラメータの数を指定。* は後ろ全部
 delims デリミタ(カンマ区切り)
 %%i i、j・・・と変数に格納される。

FOR /F "eol=; tokens=1,2* delims=," %%i in (%~dp0pass%) do (
set user=%%i
set pass=%%j
)
=====================================================
pass ファイルの内容

user1,password1
user2,password2
=====================================================

パラメータファイルを変数に代入する①=====================================================
カレントフォルダの"param"ファイルを読み込みながらパラメータを取得
 eol ファイルの終端を示す記号(適当に指定)
 tokens パラメータの数を指定。* は後ろ全部
 delims デリミタ(= 区切り)
 %%i i、j・・・と変数に格納される。

::@echo off
set count=0
FOR /F "eol=; tokens=1* delims=," %%i in (%~dp0param%) do (
call :add %%i
)
echo %count%
exit /b

:add
set /A count+=1
set param%count%=%1

=====================================================
param ファイルの内容

abcde
12345
=====================================================

パラメータファイルを変数に代入する②=====================================================

カレントフォルダの"env"ファイルを読み込みながらパラメータを取得
 eol ファイルの終端を示す記号(適当に指定)
 tokens パラメータの数を指定。* は後ろ全部
 delims デリミタ(= 区切り)
 %%i i、j・・・と変数に格納される。

FOR /F "eol=; tokens=1,2* delims==" %%i in (%~dp0env%) do (
set %%i=%%j
)

=====================================================
env ファイルの内容

data1=abcde
data2=12345
=====================================================


Script のページに戻る

0 件のコメント:

コメントを投稿