Batch: mit FOR-Schleife .txt auslesen und in eine Variable speichern

chrysler

Erfahrenes Mitglied
Guten Tag.

Ich probiere gerade an einer batch, aber ich komme nicht weiter.
Und zwar möchte ich mit Hilfe einer FOR-Schleife eine .txt-Datei auslesen
und die ersten beiden Token in eine Variable speichern.

Code:
@title Mit FOR Variablen speichern
FOR /F "eol=; tokens=1,2* usebackq delims=, " %%i in ("mit FOR Variable fuellen.txt") do @set "Name"="%%i" @set "Nachname"="%%j"
@echo %Name%
@echo %Nachname%

In der Datei "mit FOR Variable fuellen.txt" stehen zwei Namen. Wie kann ich aus einer Datei, die in ihrem Namen Leerzeichen enthält, tokens auslesen und diese in Variablen speichern?
 
Hi.

Probier's mal so:
Code:
@FOR /F "eol=; tokens=1,2* usebackq delims=, " %%i in ("mit FOR variable fuellen.txt") do @( 
   @set name=%%i 
   @set nachname=%%j )
@echo %Name%
@echo %Nachname%
Gruß
 
Guten Tag.

Ich probiere gerade an einer batch, aber ich komme nicht weiter.
Und zwar möchte ich mit Hilfe einer FOR-Schleife eine .txt-Datei auslesen
und die ersten beiden Token in eine Variable speichern.

Code:
@title Mit FOR Variablen speichern
FOR /F "eol=; tokens=1,2* usebackq delims=, " %%i in ("mit FOR Variable fuellen.txt") do @set "Name"="%%i" @set "Nachname"="%%j"
@echo %Name%
@echo %Nachname%

In der Datei "mit FOR Variable fuellen.txt" stehen zwei Namen. Wie kann ich aus einer Datei, die in ihrem Namen Leerzeichen enthält, tokens auslesen und diese in Variablen speichern?

Hi.

Probier's mal so:
Code:
@FOR /F "eol=; tokens=1,2* usebackq delims=, " %%i in ("mit FOR variable fuellen.txt") do @( 
   @set name=%%i 
   @set nachname=%%j )
@echo %Name%
@echo %Nachname%
Gruß

Danke.
Ich habe nun ähnliches probiert:
Code:
@title Mit FOR Variablen speichern
FOR /F "eol=; tokens=1,2* usebackq delims=, " %%i in ("mit FOR Variable fuellen.txt") do @set "Name"="%%i" & @set "Nachname"="%%j"
@echo %Name%
@echo %Nachname%
Kannst du mir den Unterschied sagen?
 
Der Ampersand trennt mehrere Befehle auf einer Befehlszeile voneinander, die Klammern gruppieren Befehle, so dass man diese auf mehrere Zeilen verteilen kann.

\edit: Und wenn du schreibst
Code:
set "Name"="%%i"
wird der Ausdruck von den ersten bis zu den letzten Anführungszeichen betrachtet. Die Variable heißt also nicht Name, sondern Name", so das bei deiner Ausgabe dann nichts ausgegeben wird (außer die Variable hat bereits einen Wert).

Gruß
 
Zuletzt bearbeitet:
Zurück