Textdatei bearbeiten, vergleichen, auslesen und in eine vorhandene Textdatei einfügen.
Hallo zusammen
Suche eine Möglichkeit mit Hilfe von CMD einige einfache schritte zu automatisieren, die Aufgabenstellung ist folgende: habe 2 Textdateien „quelle.txt“ und „EURUSD – 4 Stunden.txt“ die „quelle.txt“ hat folgende Datensätze (es wird auch vorkommen das die zahlen folgendes Format haben 98.56; bitte mit bedenken)
EURUSD - 4 Stunden
High
1.3328;
1.3337;
1.3338;
…….
1.3340;
1.3336;
1.3337;
1.3335;
1.3337;
1.3333;
1.3329;
1.3315;
Als erstes soll in dieser Datei der Semikolon und die letzte Zeile gelöscht werden (in diesem Beispiel die 1.3315)
Als zweites muss die Zieldatei ermittelt werden und das soll über die 1 Zeile geschehen (1 Zeile = „Zieldateiname.txt“) hoffentlich ist das machbar.
Sollte das vorhaben bis jetzt noch nicht gescheitert sein kommen wir nun zum schritt drei, dabei soll in der „Zieldatei.txt“ nach den letzten 5 Zeilen gesucht und mit der „quelle.txt“ verglichen werden, nach einer Übereinstimmung die fehlenden werte ausgelesen und in die „Zieldatei.txt“ von hinten eintragen. Das war die Aufgabe ich hoffe es findet sich jemand der mir helfen kann. Danke für eure Hilfe.
Mit freundlichen Grüßen Vitali.
Suche eine Möglichkeit mit Hilfe von CMD einige einfache schritte zu automatisieren, die Aufgabenstellung ist folgende: habe 2 Textdateien „quelle.txt“ und „EURUSD – 4 Stunden.txt“ die „quelle.txt“ hat folgende Datensätze (es wird auch vorkommen das die zahlen folgendes Format haben 98.56; bitte mit bedenken)
EURUSD - 4 Stunden
High
1.3328;
1.3337;
1.3338;
…….
1.3340;
1.3336;
1.3337;
1.3335;
1.3337;
1.3333;
1.3329;
1.3315;
Als erstes soll in dieser Datei der Semikolon und die letzte Zeile gelöscht werden (in diesem Beispiel die 1.3315)
Als zweites muss die Zieldatei ermittelt werden und das soll über die 1 Zeile geschehen (1 Zeile = „Zieldateiname.txt“) hoffentlich ist das machbar.
Sollte das vorhaben bis jetzt noch nicht gescheitert sein kommen wir nun zum schritt drei, dabei soll in der „Zieldatei.txt“ nach den letzten 5 Zeilen gesucht und mit der „quelle.txt“ verglichen werden, nach einer Übereinstimmung die fehlenden werte ausgelesen und in die „Zieldatei.txt“ von hinten eintragen. Das war die Aufgabe ich hoffe es findet sich jemand der mir helfen kann. Danke für eure Hilfe.
Mit freundlichen Grüßen Vitali.
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 141893
Url: https://administrator.de/forum/textdatei-bearbeiten-vergleichen-auslesen-und-in-eine-vorhandene-textdatei-einfuegen-141893.html
Ausgedruckt am: 23.04.2025 um 15:04 Uhr
13 Kommentare
Neuester Kommentar
Hallo vitalis und willkommen im Forum!
1 und 2 sollte sich so machen lassen:
Teil 3 ist mir allerdings überhaupt nicht klar - kannst Du das noch anhand von Beispieldaten darstellen?
Grüße
bastla
1 und 2 sollte sich so machen lassen:
@echo off & setlocal
set "Quelle=D:\quelle.txt"
set "QuellTemp=%temp%\Quelle.txt"
set /p Ziel=<"%Quelle%"
for /f "delims=:" %%i in ('findstr /n "^" "%Quelle%"') do set "ZNr=%%i"
move "%Quelle%" "%QuellTemp%"
for /f "tokens=1-2* delims=:;" %%i in ('findstr /n "^" "%QuellTemp%"') do if %%i neq %ZNr% (echo\%%j)>>"%Quelle%"
echo Zieldatei: %Ziel%
Grüße
bastla
Hallo Vitali!
Sorry - ich versteh's weiterhin nicht. Das Ermitteln der Werte aus den letzten 5 Zeilen der Datei "EURUSD - 4 Stunden.txt“ würde ich ja noch (als Ergänzung des Ansatzes oben) hinbekommen:
- nur ist mir nicht klar, wie der Vergleich dann vonstatten gehen soll, bzw konkret:
Vielleicht kannst Du ja die einzelnen Schritte 3b, 3c, ... (3a wäre das Heraussuchen der letzten 5 Zeilen der Zieldatei) nochmals detailliert beschreiben ...
Grüße
bastla
Sorry - ich versteh's weiterhin nicht. Das Ermitteln der Werte aus den letzten 5 Zeilen der Datei "EURUSD - 4 Stunden.txt“ würde ich ja noch (als Ergänzung des Ansatzes oben) hinbekommen:
set "Ziel=%Ziel%.txt"
set ZNr=
for /f "delims=:" %%i in ('findstr /n "^" "%Ziel%"') do set "ZNr=%%i"
if not defined ZNr echo Keine Daten in "%Ziel%" gefunden! & pause & goto :eof
set /a Ab=%ZNr%-5
if %Ab% lss 0 set Ab=0
for /f %%i in ('more +%Ab% "%Ziel%"') do echo %%i
- Was macht die Zeile mit "1.3642 ;" zu einer "falschen" Zeile, und welche Konsequenz für die eine oder die andere Datei soll sich daraus ergeben?
- Warum ist die dritte derartige Zeile dann aber "richtig", und was folgt daraus?
- Und welche Rolle spielen bei dem Ganzen die letzten 5 Zeilen der "quelle.txt"?
Vielleicht kannst Du ja die einzelnen Schritte 3b, 3c, ... (3a wäre das Heraussuchen der letzten 5 Zeilen der Zieldatei) nochmals detailliert beschreiben ...
Grüße
bastla

Hallo bastla!
Na, dann versuch ich es mal zu erklären
Stell Dir vor, Du bekommst alle 4 Stunden - oder wie auch immer - eine neue Quelldatei mit den Devisenkursen der letzten 4 Stunden und möchtest diese fortlaufend in der Zieldatei anfügen. Dabei überschneiden sich die Kursdaten in der Quell- und Zieldatei. D.h. um den richtigen Anschluß zu finden, soll der letzte Block ala 5 Kursdaten von der Zieldatei in der neuen Quelldatei zusammenhängend gesucht/verglichen werden und wenn die Stelle in der Quelldatei gefunden ist, die anschließenden Kursdaten fortlaufend in der Zieldatei angefügt werden.
Zieldatei:
Aktuelle Quelldatei, Semikolons und letzte Zeile Löschen und zusammenhängenden 5er-Block suchen :
Hoffe, Du hast es jetzt verstanden?
Gruß Dieter
PS. Ideal wäre natürlich, wenn die einzelnen Kursdaten eine vorangestellete Zeitangabe hätten, also z.B. Spalte 1 Datum/Zeit und Spalte 2 Devisenkurs..
Na, dann versuch ich es mal zu erklären
Stell Dir vor, Du bekommst alle 4 Stunden - oder wie auch immer - eine neue Quelldatei mit den Devisenkursen der letzten 4 Stunden und möchtest diese fortlaufend in der Zieldatei anfügen. Dabei überschneiden sich die Kursdaten in der Quell- und Zieldatei. D.h. um den richtigen Anschluß zu finden, soll der letzte Block ala 5 Kursdaten von der Zieldatei in der neuen Quelldatei zusammenhängend gesucht/verglichen werden und wenn die Stelle in der Quelldatei gefunden ist, die anschließenden Kursdaten fortlaufend in der Zieldatei angefügt werden.
Zieldatei:
1.3694
1.3695<<<<<<1
1.3680<<<<<<2
1.3686<<<<<<3
1.3635<<<<<<4
1.3642<<<<<<5
< ab hier neue Daten aus Quelldatei anfügen
...
1.3695 ;<<<<<<1 in Zieldatei schon vorhanden
1.3680 ;<<<<<<2 in Zieldatei schon vorhanden
1.3686 ;<<<<<<3 in Zieldatei schon vorhanden
1.3635 ;<<<<<<4 in Zieldatei schon vorhanden
1.3642 ;<<<<<<5 in Zieldatei schon vorhanden
1.3652 ;<<<<<< ab hier neue Daten in Zieldatei anfügen
...
Hoffe, Du hast es jetzt verstanden?
Gruß Dieter
PS. Ideal wäre natürlich, wenn die einzelnen Kursdaten eine vorangestellete Zeitangabe hätten, also z.B. Spalte 1 Datum/Zeit und Spalte 2 Devisenkurs..
Hallo Vitali und Dieter!
- danke jedenfalls an Dieter
...
Mit dem folgenden Batch (als VBScipt wär's vielleicht etwas eleganter geworden) lässt sich zwar sicher kein Schönheitspreis gewinnen, aber er sollte zumindest das gewünschte Ergebnis bringen (ist allerdings nur oberflächlich getestet):
Zum Ausgleich für meine lange Leitung habe ich mir ein paar Kommentarzeilen abgerungen ... 
Grüße
bastla
P.S.: Wenn die Werte in der Quelldatei tatsächlich mit einem Timestamp versehen werden können, sollte es eigentlich genügen, die Zeitangabe aus der letzten in die Zieldatei übertragenen Zeile zwischenzuspeichern und beim nächsten Lauf des Batches nach der damit aufzufindenden Zeile wieder anzusetzen ...
[Edit] @77559: Strg-a und Strg-c vor dem Senden habe ich mir auch mehr oder weniger mühsam angewöhnen müssen ... [/Edit]
Wie es aussieht bin ich einfach zu dämlich um das richtig zu erklären
Da war aber leider auch ein ordentliches Maß an Begriffsstutzigkeit auf meiner Seite im Spiel Mit dem folgenden Batch (als VBScipt wär's vielleicht etwas eleganter geworden) lässt sich zwar sicher kein Schönheitspreis gewinnen, aber er sollte zumindest das gewünschte Ergebnis bringen (ist allerdings nur oberflächlich getestet):
@echo off & setlocal
set "Quelle=quelle.txt"
set "QuellTemp=%temp%\Quelle.txt"
::Zieldateinamen ermitteln
set /p Ziel=<"%Quelle%"
::Zeilenanzahl der Quelldatei feststellen und in %ZNr% speichern
for /f "delims=:" %%i in ('findstr /n "^" "%Quelle%"') do set "ZNr=%%i"
::Quelldatei in Temporärdatei umwandeln und aus dieser ...
move "%Quelle%" "%QuellTemp%"
::... zeilenweise neu erstellen (und dabei das Semikolon durch
:: Deklaration als Trennzeichen eliminieren) -
:: dazu alle Zeilen mit Ausnahme der letzten Zeile (zu erkennen
:: durch den Vergleich der Zeilennummer in %%i mit %ZNr%)
:: in die neue Quelldatei schreiben
for /f "tokens=1-2* delims=:;" %%i in ('findstr /n "^" "%QuellTemp%"') do if %%i neq %ZNr% (echo\%%j)>>"%Quelle%"
::Zieldateinamen um Dateityp ergaenzen
set "Ziel=%Ziel%.txt"
::Zeilenanzahl der Zieldatei feststellen und in %ZNr% speichern
set ZNr=
for /f "delims=:" %%i in ('findstr /n "^" "%Ziel%"') do set "ZNr=%%i"
::falls ZNr keinen Wert hat, wurden keine Zeilen gefunden - Abbruch
if not defined ZNr echo Keine Daten in "%Ziel%" gefunden! & pause & goto :eof
::Position der Zeile, nach welcher die letzten 5 Zeilen der Zieldatei beginnen
set /a Ab=%ZNr%-5
::sollte die Zieldatei weniger als 5 Zeilen enthalten, nur die
:: tatsächlich vorhandenen Zeilen verwenden
if %Ab% lss 0 set Ab=0
::Variablen initialisieren
set /a ZAnz=0 & set "Vergleich=" & set "Erste="
::Zeilen ab der berechneten Position in der Zieldatei zeilenweise auslesen
:: und im Unterprogramm :ProcessLine (beim Aufruf Übergabe der Zeile)
:: zu einem Vergleichs-String zusammensetzen
for /f %%i in ('more +%Ab% "%Ziel%"') do call :ProcessLine "%%i"
::Variablen initialisieren
set "ZNr=" & set "Fertig="
::alle Vorkommen der ersten Zeile des aus der Zieldatei entnommenen
:: Zeilenblocks von (bis zu) 5 Zeilen suchen und jeweils unter
:: Übergabe der Zeilennummer das Uterprogramm :ProcessBlock
:: zur Überprüfung, ob der gesuchte Block gefunden wurd, aufrufen,
:: falls dieser nicht berits vorher gefunden wurde (dann ist die
:: Variable %Fertig% schon gesetzt)
for /f "delims=:" %%i in ('findstr /n "%Erste%" "%Quelle%"') do if not defined Fertig call :ProcessBlock %%i
::Ende Hauptprogramm
goto :eof
:ProcessLine
::erste Zeile des Blocks aus der Zieldatei in Variable schreiben
if not defined Erste set "Erste=%~1"
::Zeilenanzahl hochzählen
set /a ZAnz+=1
::Vergleichs-String um übergebenen Zeileninhalt ergänzen
set "Vergleich=%Vergleich%%~1"
goto :eof
:ProcessBlock
::%Noch% mit der Anzahl der Zeilen des Blocks vorbelegen
::%Ab% auf die Nummer der letzten zu überspringenden Zeile
:: (=1 Zeile vor Beginn des zu prüfenden Blocks in der
:: Quelldatei) setzen
set /a Noch=%ZAnz% & set "Vergleich2=" & set /a Ab=%1-1
::Zeilen ab Beginn des Blocks durchgehen und daraus zweiten
::Vergleichs-String erstellen
for /f %%a in ('more +%Ab% "%Quelle%"') do call :ProcessLine2 "%%a"
::Vergleich der beiden Strings - bei Übereinstimmung wurde
::der Block in der Quelldatei gefunden und kann an die
::Zieldatei angefügt werden; durch Setzen der Variablen
::%Fertig% signalisieren, dass nicht mehr weitergesucht
::werden muss
if "%Vergleich%"=="%Vergleich2%" (
more +%Ab% "%Quelle%">>"%Ziel%"
set "Fertig=True"
)
goto :eof
:ProcessLine2
::Soferne noch nicht gleich viele Zeilen, wie im Block
:: aus der Zieldatei enthalten sind, in den zweiten
:: Vergleichs-String aufgenommen wurden, die über-
:: gebene Zeile hinufügen
if %Noch% gtr 0 set "Vergleich2=%Vergleich2%%~1"
::Restanzahl der hinzuzufügenden Zeilen verringern
set /a Noch-=1
goto :eof
Grüße
bastla
P.S.: Wenn die Werte in der Quelldatei tatsächlich mit einem Timestamp versehen werden können, sollte es eigentlich genügen, die Zeitangabe aus der letzten in die Zieldatei übertragenen Zeile zwischenzuspeichern und beim nächsten Lauf des Batches nach der damit aufzufindenden Zeile wieder anzusetzen ...
[Edit] @77559: Strg-a und Strg-c vor dem Senden habe ich mir auch mehr oder weniger mühsam angewöhnen müssen ... [/Edit]

Hallo Vitali,
dieser Abgleich 5 aufeinaderfolgender Zeilen ist nicht trivial, da sich schon in diesen Zeilen eine Teilsequenz wiederholen könnte, man muss also bei einem Abbruch wieder zurück was beim sequentiellen Lesen nicht geht. Also muss man beim Lesen immer die letzten 5 Zahlen mitführen und \"durchschieben\" um neu aufsetzen zu können.
Wenn die Semikolon in der Quelle entfernt sind, kann man übrigends mit dem Programm WinMerge sehr schön die Unterschiede anzeigen bzw. auch übernehmen (dazu muss in den Optionen bei Vergleich verschobene Blöcke angehakt werden).
Bis auf die oben angesprochene Möglichkeit der Teilsequenz funktioniert diese Batch hier nach den angegebenen Kriterien.
Gruß
LotPings
@bastla, wenn mich der timeout nicht gequält hätte wär ich schneller gewesen
Edit: neue Zeile 2 zum Wechsel in den Ordner der Dateien eingefügt
dieser Abgleich 5 aufeinaderfolgender Zeilen ist nicht trivial, da sich schon in diesen Zeilen eine Teilsequenz wiederholen könnte, man muss also bei einem Abbruch wieder zurück was beim sequentiellen Lesen nicht geht. Also muss man beim Lesen immer die letzten 5 Zahlen mitführen und \"durchschieben\" um neu aufsetzen zu können.
Wenn die Semikolon in der Quelle entfernt sind, kann man übrigends mit dem Programm WinMerge sehr schön die Unterschiede anzeigen bzw. auch übernehmen (dazu muss in den Optionen bei Vergleich verschobene Blöcke angehakt werden).
Bis auf die oben angesprochene Möglichkeit der Teilsequenz funktioniert diese Batch hier nach den angegebenen Kriterien.
@Echo off & SetLocal EnableDelayedExpansion
CD /D "D:\Neuer Ordner"
Set Src=Quelle.txt
set /P Dst=<"%Src%"
set "Dst=%Dst%.txt"
if Not Exist "%Dst%" Echo kann Ziel %Dst% nicht finden & Exit /B 1
:: Ermittle Länge von Dst
set DstCnt=0
For /f %%A in (
'Findstr "^[0-9][0-9.]" "%Dst%" ^|find /V /C "#"'
) Do Set /A "DstCnt=%%A"
If %DstCnt% LSS 5 Echo Weniger als 5 Werte in %Dst% & Exit /B 2
Set /A DstCnt-=5
:: Letzte 5 einlesen
Set OLCnt=0
For /f "skip=%DstCnt% Delims=;" %%A in (
'Findstr "^[0-9][0-9.]" "%Dst%"'
) Do Set "Overlap!OLCnt!=%%A" & Set /A "OLCnt+=1"
:: Quelle einlesen
Set OLCnt=0
If defined Last Set "Last="
For /f "Delims=; " %%A in ('More +3 %Src%') Do Call :Check %%A
If %OLCnt% LSS 5 Echo Konnte keine Ueberlappung ermitteln & Exit /B 3
Echo Done
Exit /B 0
:Check
if %OLCnt% Gtr 4 Goto :Append
If "!OverLap%OLCnt%!" EQU "%1" Set /A "OLCnt+=1" & Goto :Eof
IF %OLCnt% GTR 0 Set "OLCnt=0" & goto :Check
Set OLCnt=0
Goto :Eof
:Append
Echo Append %Last%
If Defined Last >> "%Dst%" Echo.%Last%
Set "Last=%1"
Goto :Eof
Gruß
LotPings
@bastla, wenn mich der timeout nicht gequält hätte wär ich schneller gewesen
Edit: neue Zeile 2 zum Wechsel in den Ordner der Dateien eingefügt

Zitat von @vitalis:
@77559 deine Datei konnte ich nicht testen hat nicht funktioniert bevor ich zum Fehler komme hier noch eine Kleinigkeit, die
Ziel- und Quelldatei befinden sich unter d:\Neuer Ordner\Quelle.txt und d:\Neuer Ordner\“erste zeile der quelldatei“.txt (habe das Gefühl es ist wichtig).
Es ist wichtig, wenn sich die Batchdatei nicht im gleichen Ordner befindet.@77559 deine Datei konnte ich nicht testen hat nicht funktioniert bevor ich zum Fehler komme hier noch eine Kleinigkeit, die
Ziel- und Quelldatei befinden sich unter d:\Neuer Ordner\Quelle.txt und d:\Neuer Ordner\“erste zeile der quelldatei“.txt (habe das Gefühl es ist wichtig).
Ansonsten hat es hier mit Testdaten (hab mir extra eine Batch zum generieren geschrieben) funktioniert.
Nachdem ich festgestellt habe das die Datei nicht funktioniert habe ich zwischen den einzelnen Befehlen eine pause eingebaut und
folgendes ist dabei raus gekommen:
Ich habe oben einen Befehl zum Wechsel ins Verzeichnis eingesetzt am Besten, noch mal von dort komplett übernehmen.folgendes ist dabei raus gekommen:
Hier der Testdatengenerator:
@Echo off
PushD "D:\Neuer Ordner"
Set AnzNeue=5
Set AnzAlte=10
Set Out="Quelle.txt"
Set In="EURUSD - 4 Stunden.txt"
:: Schreibe Header
>%Out% Echo EURUSD - 4 Stunden
>>%Out% ECHO.
>>%Out% ECHO.High
:: Ermittle Zeilenzahl
For /f %%A in ('find /V /C "" ^<%In%') Do Set InCnt=%%A
Set /A Skip=%InCnt% - %AnzAlte%
:: Übernehme vorhandene
For /F %%A in ('More +%SKip% %In%') Do (Echo.%%A;)>>%Out%
Echo Anhängen
For /L %%A in (1,1,%AnzNeue%) Do Call :AppRand
PopD
Goto :Eof
:AppRand
Set /A Kurs="%Random% %% 9999"
Set Kurs=0000%Kurs%
Echo.1.%Kurs:~-4%;
1>>%Out% Echo.1.%Kurs:~-4%;
Goto :Eof
Gruß
Lotpings
Hallo Vitali!
Nach den folgenden Änderungen (wobei die erste nur eine Sicherheitsmaßnahme darstellt, indem der Vergleich auf die ganze Zeile ausgedehnt wird, was aber bei Zahlen mit durchgängig gleicher Stellenanzahl de facto ohnehin erfolgt) könnte das besser gehen:
Ersetze die Zeile 55 durch:
und füge zwischen den Zeilen 86 und 87 ein:
Hintergrund dieser Ergänzung: Es wird zwar der 5-Zeilen-Block in "quelle.txt" gefunden, aber dann nicht übersprungen, sondern (wie Du schon gemerkt hast
) in die Zieldatei "mitgenommen" - daher muss die Startadresse für die zu übertragenden Zeilen entsprechend erhöht werden ...
Grüße
bastla
Nach den folgenden Änderungen (wobei die erste nur eine Sicherheitsmaßnahme darstellt, indem der Vergleich auf die ganze Zeile ausgedehnt wird, was aber bei Zahlen mit durchgängig gleicher Stellenanzahl de facto ohnehin erfolgt) könnte das besser gehen:
Ersetze die Zeile 55 durch:
for /f "delims=:" %%i in ('findstr /n /x "%Erste%" "%Quelle%"') do if not defined Fertig call :ProcessBlock %%i
set /a Ab+=5
Grüße
bastla

Zitat von @vitalis:
@bastla hätte ich gewusst das man alle schritte erledigen kann ohne die Quelldatei zu verunstalten (Semikolon und die letzte
Zeile vorher zu löschen) so wie im Beispiel von LotPings hättest du dir einige Minuten und Zeilen sparen können.
Sorry.
Konnte er ja nicht, mein Ansatz wurde wenige Minuten nach seinem eingestellt.@bastla hätte ich gewusst das man alle schritte erledigen kann ohne die Quelldatei zu verunstalten (Semikolon und die letzte
Zeile vorher zu löschen) so wie im Beispiel von LotPings hättest du dir einige Minuten und Zeilen sparen können.
Sorry.
Und wir haben beide einiges an Gehirnschmalz investieren müssen.
Ich kann, glaube ich, für uns Beide sprechen, wenn ich sage das wir das nur tun, wenn uns ein Problem interessiert; wir selber dabei etwas lernen.
@77559 deine Datei hat von Anfang an funktioniert habe es zufällig herausgefunden das deine Version an bestimmte Parameter
gebunden ist und zwar Zahl-Punkt-Zahl da ich die Daten aber mit ganzen Zahlen getestet habe (1 2 3 4 5 6 usw.) war es nachhinein
klar, auch wenn die Daten im gleichen Ordner lagen, warum es nicht funktioniert hat.
Ich habe deine Vorgaben halt wörtlich genommen gebunden ist und zwar Zahl-Punkt-Zahl da ich die Daten aber mit ganzen Zahlen getestet habe (1 2 3 4 5 6 usw.) war es nachhinein
klar, auch wenn die Daten im gleichen Ordner lagen, warum es nicht funktioniert hat.
Ich schaue mir den Code zwar an aber alles was ich sehe ist bla,bla,bla es ist furchtbar,
Ja, Biber mahnt öfter an (zu Recht) man möge besser dokumentieren.Ich habe dabei das Problem, das mir der Blick auf den Code verloren geht, wenn zu viele Kommentarzeilen eingestreut sind
Noch mal Herzlichen Dank ihr habt mit sehr geholfen. Aufgabe erfüllt, Beitrag geschlossen.
Dank auch an dich fürs Feedback, das leider nicht immer selbstverständlich ist.Gruß
LotPings