Zeilen wechsel in einer .txt datei
Hallo Jungs

Nachdem ich nun alles hinbekommen hab
Wartet nun das letzte und wohl größte Problem
Ich möchte nun innerhalb des Text Dokuments die Zeile wechseln die Ausgelesen werrden soll.
Dazu hab ich zwar einiges im Netz gefunden. Dort wird aber nichts näheres erklärt und so versteh ich die Befehl anfolge nicht so ganz
Währe nett wenn ihr mir den befehl und vllt ein kleines Bsp geben könntet mit einer erklärung.
So kleines Edit vorm Feierabend damit morgen früh vllt etwas Brauchbares dabei ist
Und zwar habe ich eine Text datei in der Pfade stehen. Im bsp:
Quelle Ziel
Quelle Ziel
...
Nun soll er bei jedem Schleifen Ablauf Die Quelle in die Variable "Quelle" schreiben und Ziel in die Variable " Ziel"
Das macht er auch soweit, halt nur für die erste Zeile.
Beim nägsten Durchlauf hät ich dann gerne die Zweite Zeile zum einlesen und dann die Dritte...
Wie kann ich das Realisieren?
Sorry wenn die Frage vllt etwas blöd Klingt aber ich habe mit Batch erst seit 2 Tage zutun. Bin somit ein Absoluter Anfänger ^^
Hoffe die Batch Experten haben ne Lösung Parat
Als kleiner ansporn vllt das Ende variable gestallten? Das das Programm vorher Die Zeilen durch Zählt und diese Zahl dann als ende Definiert.
Ist im moment leider auch zuhoch für mich
Also ich hoffe auf eure Hilfe
Danke schon einmal im voraus
MfG
Wannabeapro
Nachdem ich nun alles hinbekommen hab
Wartet nun das letzte und wohl größte Problem
Ich möchte nun innerhalb des Text Dokuments die Zeile wechseln die Ausgelesen werrden soll.
Dazu hab ich zwar einiges im Netz gefunden. Dort wird aber nichts näheres erklärt und so versteh ich die Befehl anfolge nicht so ganz
Währe nett wenn ihr mir den befehl und vllt ein kleines Bsp geben könntet mit einer erklärung.
So kleines Edit vorm Feierabend damit morgen früh vllt etwas Brauchbares dabei ist
Und zwar habe ich eine Text datei in der Pfade stehen. Im bsp:
Quelle Ziel
Quelle Ziel
...
Nun soll er bei jedem Schleifen Ablauf Die Quelle in die Variable "Quelle" schreiben und Ziel in die Variable " Ziel"
Das macht er auch soweit, halt nur für die erste Zeile.
Beim nägsten Durchlauf hät ich dann gerne die Zweite Zeile zum einlesen und dann die Dritte...
Wie kann ich das Realisieren?
Sorry wenn die Frage vllt etwas blöd Klingt aber ich habe mit Batch erst seit 2 Tage zutun. Bin somit ein Absoluter Anfänger ^^
Hoffe die Batch Experten haben ne Lösung Parat
Als kleiner ansporn vllt das Ende variable gestallten? Das das Programm vorher Die Zeilen durch Zählt und diese Zahl dann als ende Definiert.
Ist im moment leider auch zuhoch für mich
Also ich hoffe auf eure Hilfe
@FOR /F "eol=; tokens=1,2* usebackq delims=, " %%i in ("liste.txt") do @(
@set Quelle=%%i
@set Ziel=%%j
pause
@echo %Quelle%
@echo %Ziel%
pause
echo %tok%
if "%tok%" == "19" goto :ende )
Danke schon einmal im voraus
MfG
Wannabeapro
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 67966
Url: https://administrator.de/forum/zeilen-wechsel-in-einer-txt-datei-67966.html
Ausgedruckt am: 22.04.2025 um 14:04 Uhr
6 Kommentare
Neuester Kommentar
Ich interpretiere da jetzt 2 Möglichkeiten rein was du wollen köntest:
a) Du willst nur die 19. Zeile auslesen. Das geht dann so:
b) Du willst alle Zeilen bis einschließlich 19 auslesen.
miniversum
a) Du willst nur die 19. Zeile auslesen. Das geht dann so:
@echo off
set "gelesen="
FOR /F "skip=18 delims= " %%i in ("liste.txt") do if undefined gelesen (set quelle=%%i & set ziel=%%j & set gelesen=1)
echo %quelle%
echo %ziel%
set "gelesen="
FOR /F "skip=18 delims= " %%i in ("liste.txt") do if undefined gelesen (set quelle=%%i & set ziel=%%j & set gelesen=1)
echo %quelle%
echo %ziel%
b) Du willst alle Zeilen bis einschließlich 19 auslesen.
@echo off
setlocal enabledelayedexpansion
set zahl=1
FOR /F "delims= " %%i in ("liste.txt") do (
if !zahl! leq 19 (
set quelle=%%i
set ziel=%%j
set /a zahl=!zahl!+1
echo %quelle%
echo %ziel%
)
)
setlocal enabledelayedexpansion
set zahl=1
FOR /F "delims= " %%i in ("liste.txt") do (
if !zahl! leq 19 (
set quelle=%%i
set ziel=%%j
set /a zahl=!zahl!+1
echo %quelle%
echo %ziel%
)
)
miniversum
Moin wannabeapro,
nach mehrmaligem Lesen bin ich zu dem Schluss gekommen, dass Du eine bestimmte Zeile lesen willst. Jedenfalls glaube ich das aus Deiner Beitragseröffnungsfrage herauszulesen.
Dazu ist u.a. ein Beispiel hier EINE Zeile aus TXT-Datei lesen.
In miniversums passendem Ansatz dazu (der Variante a) fehlt nur die TOKEN-Angabe und das "if undefined gelesen" sollte "if not defined gelesen" heißen.
Aber der kürzere Oneliner wäre dann sicher [vom CMD-Prompt]:
[Ungetestet, und im Batch wieder auf mehrere Zeilen verteilt und mit zwei Prozentzeichen etc].
Erläuterung: Ich suche mit Findstr /n [==mit Zeilennummern] alle Zeilen, und davon will ich nur Zeile 18 == die Zeile mit "18:" am Zeilenanfang.
Grüße
Biber
nach mehrmaligem Lesen bin ich zu dem Schluss gekommen, dass Du eine bestimmte Zeile lesen willst. Jedenfalls glaube ich das aus Deiner Beitragseröffnungsfrage herauszulesen.
Dazu ist u.a. ein Beispiel hier EINE Zeile aus TXT-Datei lesen.
In miniversums passendem Ansatz dazu (der Variante a) fehlt nur die TOKEN-Angabe und das "if undefined gelesen" sollte "if not defined gelesen" heißen.
Aber der kürzere Oneliner wäre dann sicher [vom CMD-Prompt]:
For /F "tokens=2,3* delims=, " %i in ('findstr /n "$" liste.txt^|findstr "^18:" ') do (@echo %i) & @Echo %j
Erläuterung: Ich suche mit Findstr /n [==mit Zeilennummern] alle Zeilen, und davon will ich nur Zeile 18 == die Zeile mit "18:" am Zeilenanfang.
Grüße
Biber