(バッチ)設定ファイルを読み込む
バッチファイルで処理するときに、設定ファイルから1行ずつ読み込みたいという時があります。
DOSコマンドのFOR文でできるようです。 例えばこんな感じ。
FOR /F %%A IN (a.txt) DO ( @ECHO %%A )
↑a.txtのファイルを読み込みます。 区切り文字は指定しないと半角スペース、全角スペース、タブとなります。 %%Aで一つ目のエントリが取得できます。
FOR /F "tokens=1,3 delims=," %%A IN (a.txt) DO ( @ECHO %%A %%B )
↑各行の1,3番目をカンマ区切りで読み込み、出力します。 (delimsで区切り文字を指定、tokensでどの列を読み込むか指定します)
FOR /F "tokens=1-3 delims=/" %%A IN (a.txt) DO ( @ECHO %%A %%B %%C )
↑各行の1,2,3番目を/区切りで読み込み、出力します。
FOR /F "tokens=1-3 delims=/," %%A IN (a.txt) DO ( @ECHO %%A %%B %%C )
↑各行の1,2,3番目を/とカンマ区切りで読み込み、出力します。
FOR /F "tokens=*" %%A IN (a.txt) DO ( @ECHO %%A )
↑区切らず1行全部読み込みます。(空行は無視)
参考:
memo: Windows バッチファイル : ファイルの内容を読み込みたい
memo: Windows バッチファイル : 任意の項目数の CSV ファイルの内容を読み込みたい
バッチファイルでファイルを読む方法(その2): Windows Script Programming
<連載:Windows 2000コマンドライン徹底活用 第8回 forコマンド(その2) -- 2.ファイル解析による繰り返し処理/a>