tomaschku
Goto Top

Jede Zeile einer Textdatei in eigene Variable speichern

Hallo erstmal,

Da ich keine passende Antwort auf meine Frage gefunden habe, will ich es hier versuchen.
Als Beispiel:

Aus Textdatei abc.txt soll die erste Zeile in Variable a, die zweite Zeile in Variable b, ... geschrieben werden.

Die Datei abc.txt ist immer so Aufgebaut:
Eine_maximal_2_Stellige_Zahl
Unterschiedlich_lange_Zeichenketten_OHNE_Leerzeichen

Die Batchdatei sollte ungefähr so aussehen:
@echo off

:start
set anzahl=<1_Zeile_von_abc.txt
if %anzahl% GTR 99 (goto start &  cls & echo Zahl ist zu groß. & pause)
if %anzahl% LEQ 0 (goto start &  cls & echo Zahl ist zu klein. & pause)

::Und hier "fehlt" der Code. 

set a=<zeile2_abc.txt
if not %anzahl% GTR 2 (goto fertig)
set b=<zeile3_abc.txt
if not %anzahl% GTR 3 (goto fertig)
set c=<zeile4_abc.txt
if not %anzahl% GTR 4 (goto fertig)
set d=<zeile5_abc.txt
if not %anzahl% GTR 5 (goto fertig)
set e=<zeile6_abc.txt
if not %anzahl% GTR 6 (goto fertig)
set f=<zeile7_abc.txt
if not %anzahl% GTR 7 (goto fertig)
set g=<zeile8_abc.txt
if not %anzahl% GTR 8 (goto fertig)
set h=<zeile9_abc.txt
if not %anzahl% GTR 9 (goto fertig)
set i=<zeile10_abc.txt
if not %anzahl% GTR 10 (goto fertig)

::Und so soll es bis zur Zeile 98 weitergehen.

:weiter
::Und hier soll dann verarbeitet werden.
::Beispielsweise werden hier die Variablen als Pfad genommen:
start notepad.exe %a%
...

Ich hoffe, ihr versteht was ich meine.

LG,
tomaschku

Content-ID: 343748

Url: https://administrator.de/forum/jede-zeile-einer-textdatei-in-eigene-variable-speichern-343748.html

Ausgedruckt am: 23.12.2024 um 13:12 Uhr

MrCount
MrCount 18.07.2017 um 12:16:44 Uhr
Goto Top
Servus,

also mit FOR /F solltest du ans Ziel kommen... face-wink
tomaschku
tomaschku 18.07.2017 um 12:51:57 Uhr
Goto Top
Hallo,

@MrCount Danke für den Link, doch da ich ab dem Parameter "Tokens" nicht weiterkomme :/, hab ich es nur so
weit gebracht:
::Hier der Code um die Zahl zu finden:
for /f DELIMS= EOL=w

::Und hier um die Strings (Die oft mit w anfangen):
for /f DELIMS= EOL=;
Also mein jetziges Problem: Wie weise ich in "for" einen Wert der Laufzeitvariable (Bedeutet bei mir soviel wie: Existiert nur im for befehl) und dann einer Normalen (=mehrstelligen) Variable zu?

P.S.: Ich habe den FOR Befehl nie benutzt und immer versucht zu vermeiden. (Zu "Komplex" für mich)

LG,
tomaschku
tomaschku
tomaschku 20.07.2017 um 16:09:17 Uhr
Goto Top
Antworten dauern...
MrCount
MrCount 20.07.2017 um 16:16:34 Uhr
Goto Top
P.S.: Ich habe den FOR Befehl nie benutzt und immer versucht zu vermeiden. (Zu "Komplex" für mich)

Das habe ich aufgrund deiner Profilangaben

2017-07-20 16_12_13-tomaschku - profil - mrcount - administrator.de

nicht wirklich ernst genommen...


Ich kann dir da im Moment leider auch nicht wirklich helfen, sorry.