ホーム > コマンドプロンプト・バッチファイル リファレンス
Windowsのバッチファイルで、テキストファイルを1行ずつ読み込む方法を解説します。
書式
テキストファイルを読み込む場合の書式です。
for文に読み込みたいテキストファイルを渡すことで、1行ずつ読み込むことが可能です。
for /f %%変数 in (読み込むファイル) do ( 実行する処理1 実行する処理2 実行する処理3 )
サンプルコード
テキストファイルを読み込むサンプルコードです。
例として、下記のようなファイルを読み込みます。
1行目 2行目 3行目
テキストファイルをフルパスで指定する
フルパスで指定したテキストファイルを1行ずつ読み込むサンプルです。
@echo off for /f %%i in (C:\workspace\Data\sample.txt) do ( rem 読み込んだ内容を表示する echo 読み込んだ内容:%%i ) pause
実行結果です。
読み込んだ内容:1行目 読み込んだ内容:2行目 読み込んだ内容:3行目 続行するには何かキーを押してください . . .
ファイルのフルパスに半角スペースが含まれる場合
テキストファイルのフルパスに半角スペースを含む場合の記述例です。
1.for文のオプションに「"usebackq"
」を追加する。
2.読み込むファイルをダブルクォーテーションで囲む。
@echo off for /f "usebackq" %%i in ("C:\workspace\Data\sample 1.txt") do ( rem 読み込んだ内容を表示する echo 読み込んだ内容:%%i ) pause
実行例は変わらないので割愛します。
テキストファイルを変数で指定する
テキストファイルのパスを変数に格納して指定するサンプルです。
@echo off rem 読み込み対象ファイル set target_file=C:\workspace\Data\sample.txt for /f %%i in (%target_file%) do ( rem 読み込んだ内容を表示する echo 読み込んだ内容:%%i ) pause
実行結果です。
読み込んだ内容:1行目 読み込んだ内容:2行目 読み込んだ内容:3行目 続行するには何かキーを押してください . . .
半角スペースを含む内容を読み込む
下記のように、半角スペースを含む内容を読み込む方法を説明します。
あいうえお かきくけこ さしすせそ たちつてと なにぬねの はひふへほ
まず、普通に読み込んだ結果を見てみたいと思います。
あいうえお たちつてと 続行するには何かキーを押してください . . .
前項で説明した方法で読み込むと、半角スペース以降が読み込めなくなってます。
半角スペース以降も読み込むには、以下のように「"
delims="
」を追加する必要があります。
@echo off
rem 読み込み対象ファイル
set target_file=C:\workspace\Data\sample.txt
for /f "delims=" %%i in (%target_file%) do (
rem 読み込んだ内容を表示する
echo %%i
)
pause
上記のサンプルを実行した結果です。
半角スペース以降も読み込むことが出来ました。
あいうえお かきくけこ さしすせそ たちつてと なにぬねの はひふへほ 続行するには何かキーを押してください . . .
リンク
コメント
読み込むテキストファイルのフルパスに半角スペースが入っていると駄目なようです。対策はありますか?
下記の2箇所を修正してみて下さい。
1.for文のオプションに「”usebackq”」を追加する。
2.読み込むファイルをダブルクォーテーションで囲む。
(詳細は本記事に「ファイルのフルパスに半角スペースが含まれる場合」というタイトルで追加しましたのでご覧頂ければと思います)