Textdatei (.txt) Wort für Wort auslesen per batch (Spaltenweise)
Hi, ich habe eine Textdatei (.txt). Diese hat mehrere Zeilen.
Ich möchte diese gerne Spalte für Spalte auslesen, sodass ich einzelne Variablen wiedergeben kann.
Bisher habe ich Zeilenweise. Dies soll aber nun Wortweise geschehen.
%var1% sollte dann das erste Wort sein %var2% dann das zweite Wort usw.
Getrennt sind die Wörter mit Leerzeichen.
chcp 1252
@echo off &setlocal
for /f "delims=" %%i in (1.txt) do set tempvar=%%i &call :sub
echo %var1%
echo %var2%
...
echo %var30%
goto :eof
:sub
set /a n+=1
set var%n%=%tempvar%
goto :eof
pause
Ich möchte diese gerne Spalte für Spalte auslesen, sodass ich einzelne Variablen wiedergeben kann.
Bisher habe ich Zeilenweise. Dies soll aber nun Wortweise geschehen.
%var1% sollte dann das erste Wort sein %var2% dann das zweite Wort usw.
Getrennt sind die Wörter mit Leerzeichen.
chcp 1252
@echo off &setlocal
for /f "delims=" %%i in (1.txt) do set tempvar=%%i &call :sub
echo %var1%
echo %var2%
...
echo %var30%
goto :eof
:sub
set /a n+=1
set var%n%=%tempvar%
goto :eof
pause
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 303488
Url: https://administrator.de/contentid/303488
Ausgedruckt am: 26.11.2024 um 02:11 Uhr
1 Kommentar
Hallo pdiddo,
es wäre gut wenn du den Sinn der Aktion mit erklärt hättest, den in 99,9% aller Fälle ist die Zuweisung von elfundneunzig Variablen eines assoziativen Arrays unnötig und kontraproduktiv.
OK, zu deiner Frage.
Zur Funktionsweise dieses merkwürdigen SET Konstrukts siehe
split string into substrings based on delimiter
Grüße
rubberman
es wäre gut wenn du den Sinn der Aktion mit erklärt hättest, den in 99,9% aller Fälle ist die Zuweisung von elfundneunzig Variablen eines assoziativen Arrays unnötig und kontraproduktiv.
OK, zu deiner Frage.
@echo off &setlocal EnableDelayedExpansion
<"1.txt" set /p "tempvar="
set i=1
set "var!i!=%tempvar: =" &set /a i+=1 &set "var!i!=%"
echo Anzahl Variablen: %i%
echo Variablennamen und Werte:
set var
pause
Zur Funktionsweise dieses merkwürdigen SET Konstrukts siehe
split string into substrings based on delimiter
Grüße
rubberman