Der Umgang mit Textdateien, insbesondere der zeilen- und semikolongetrennten Verarbeitung ist unter dem How to... Textdatei einlesen. Dies hier ist eine eigenständige Funktion, die den Inhalt einer (txt-) Datei in ein "Array" einließt.
Im Anhang befindet sich die Datei ArrLines.bat inklusive Aufrufbeispiel und Datei Text.txt zum einlesen.
REM ************************************************
REM * Name: ArrLines.bat *
REM * Version: 1.0 *
REM * Type: Function *
REm * Autor: Tim Pustelni *
REM * Date: 18.01.2017 *
REM *************************************************
REM * Description *
REM * Ließt Textdatei Zeilenweise ein und schreibt *
REM * Zeilen in 1-Dimensionales Array *
REM *************************************************
REM * Input: %1 (prefix) Prefix für die Variablen- *
REM * namen der Ausgabe *
REM * %2 (sFile) relativer oder absoluter *
REM * Dateipfad *
REM *************************************************
REM * Output: 1-Dimensionales Array mit Zeilen im *
REM * Format %prefix%[%Col%] (z.B. Line[5]) *
REM * Numeriert wird mit einem Counter (cnt)*
REM *************************************************
REM * Anmerkung: Setlocal EnableDelayedExpansion *
REM * In aurufender Datei notwendig *
REM *************************************************
REM * Aufrufbeispiel (Anführungszeichen notwendig): *
REM * CALL ArrLines.bat Line "Text.txt" *
REM *************************************************
SET prefix=%1
REm das ~ignoriert einschließende "" (schneidet sie ab)
SET sFile=%~2
SET cnt=1
for /f "usebackq delims=" %%i in ("%sFile%") DO SET "sLine=%%i" & call :ArrLinesLine
GOTO :EOF
:ArrLinesLine
SET %prefix%[%cnt%]=%sLine%
SET /A cnt+=1
GOTO :EOF
CALL [VERZEICHNISPFAD]ArrLines.bat PREFIX "DATEIFAD"
Bsp: CALL ArrLines.bat Line "Text.txt"
REM *************************************************
REM * Name: ArrLines.bat *
REM * Version: 1.0 *
REM * Type: Function *
REm * Autor: Tim Pustelni *
REM * Date: 18.01.2017 *
REM *************************************************
REM * Description *
REM * Ließt Textdatei Zeilenweise ein und schreibt *
REM * Zeilen in 1-Dimensionales Array *
REM *************************************************
REM * Input: %1 (prefix) Prefix für die Variablen- *
REM * namen der Ausgabe *
REM * %2 (sFile) relativer oder absoluter *
REM * Dateipfad *
REM *************************************************
REM * Output: 1-Dimensionales Array mit Zeilen im *
REM * Format %prefix%[%Col%] (z.B. Line[5]) *
REM * Numeriert wird mit einem Counter (cnt)*
REM *************************************************
REM * Anmerkung: Setlocal EnableDelayedExpansion *
REM * In aurufender Datei notwendig *
REM *************************************************
REM * Aufrufbeispiel (Anführungszeichen notwendig): *
REM * CALL ArrLines.bat Line "Text.txt" *
REM *************************************************
SET prefix=%1
REM das ~ignoriert einschließende "" (schneidet sie ab)
SET sFile=%~2
SET cnt=1
FOR /F "usebackq delims=" %%i in ("%sFile%") DO SET "sLine=%%i" & call :ArrLinesLine
GOTO :EOF
:ArrLinesLine
SET %prefix%[%cnt%]=%sLine%
SET /A cnt+=1
GOTO :EOF