バッチファイルでテキストファイルの全行を変数に代入する
バッチファイルを使用してテキストファイルの全行を変数に代入するには、以下の手順を実行できます。以下の例では、example.txt
というテキストファイルから行を読み取り、それぞれの行を変数に代入します。
@echo off
setlocal enabledelayedexpansion
set "textFile=example.txt"
set "allLines="
for /f "delims=" %%a in (%textFile%) do (
set "line=%%a"
set "allLines=!allLines!!line!
)
echo %allLines%
endlocal
このバッチファイルの説明:
- @echo offはコマンドが実行される際にコマンドプロンプトにコマンドを表示しないようにするための行です。
- setlocal enabledelayedexpansionは変数の展開を有効にします。これにより、!で囲んだ変数を使ってループ内で変数を更新できます。
- set "textFile=example.txt"は読み取るテキストファイルの名前を指定します。必要に応じてファイル名を変更してください。
- set "allLines="は全ての行を格納する変数を初期化します。
- for /f "delims=" %%a in (%textFile%) do ...ループは指定したテキストファイルの各行を読み取ります。各行は%%aに格納されます。
- set "line=%%a"は現在の行をline変数に代入します。
- set "allLines=!allLines!!line!"はallLines変数に現在の行を追加します。
- echo %allLines%は最終的にallLines変数の内容を表示します。
これにより、テキストファイルの全行が一つの変数に格納され、それを表示することができます。必要に応じて、変数allLines
を他の操作に使用できます。