Zwei TXT-Dateien inhaltlich miteinander vergleichen. Werte die identisch sind in neue TXT Datei schreiben!
Hallo
ich habe zwei TXT-Dateien, eine Inventarliste.txt mit dem kompletten Artikelbestand und eine Datei Delta.txt mit fehlenden Artikel (als Zahlenreihe). Beide Dateien habe 4-stellige Zahlen pro Zeile, die verglichen werden sollen. Die Zahlen die identisch sind sollen mit der Artikelbezeichnung (aus der Inventarliste) in eine dritte TXT-Datei geschrieben werden!
Aufbau: Inventarliste.txt
Aufbau: Delta.txt
ERGEBNIS in Fehlliste.txt
Weiß jemand Rat und hat eine Lösung als Batch parat?
Danke im Voraus
Andy
ich habe zwei TXT-Dateien, eine Inventarliste.txt mit dem kompletten Artikelbestand und eine Datei Delta.txt mit fehlenden Artikel (als Zahlenreihe). Beide Dateien habe 4-stellige Zahlen pro Zeile, die verglichen werden sollen. Die Zahlen die identisch sind sollen mit der Artikelbezeichnung (aus der Inventarliste) in eine dritte TXT-Datei geschrieben werden!
Aufbau: Inventarliste.txt
0000 - Blaues Geländer
0001 - Treppenabsatz beige
....
3648 - Duschkopf chrom
3649 - Duschkopf blau
3650 - Blumenvase lila
3651 - Blumenvase grün
3652 - Abflußrohr
...
3753 - Stehlampe Modell Klara
3754 - Funkuhr Modell Schwarzwald
3755 - Tisch
....
Aufbau: Delta.txt
...
3648
3649
3650
3651
3652
3753
3754
3755
...
ERGEBNIS in Fehlliste.txt
...
3648 - Duschkopf chrom
3649 - Duschkopf blau
3650 - Blumenvase lila
3651 - Blumenvase grün
3652 - Abflußrohr
...
3753 - Stehlampe Modell Klara
3754 - Funkuhr Modell Schwarzwald
3755 - Tisch
...
Weiß jemand Rat und hat eine Lösung als Batch parat?
Danke im Voraus
Andy
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 128133
Url: https://administrator.de/contentid/128133
Ausgedruckt am: 24.11.2024 um 23:11 Uhr
9 Kommentare
Neuester Kommentar
Hi,
auch hier heißt das Zauberwort: Delimiter ^^ und Token. Wenn das Ganze Zeilenweise nur
<4stellige Zahl> - <Text>
beinhaltet dann haste deinen Delimiter das "-" schonmal gefunden.
Nun brauchste nur noch:
1. Inventarliste Zeile auslesen
1.1. den Zeilenstring zerlegen um die Zahl zu bekommen
2. Delta in schleife auslesen bis Zahl gefunden und dann den gepufferten String aus Schritt 1 in Fehlliste.txt schreiben
3. wieder zu schritt 1 bis EOF =)
Gruß
PS:
verdammt Timo war mit seiner Zeile schneller xD, wobei ich gerne den Fragenden immer die Chance gebe selber noch was zur Lösung beizutragen =).
Silbertablett ist doch shice xD.
auch hier heißt das Zauberwort: Delimiter ^^ und Token. Wenn das Ganze Zeilenweise nur
<4stellige Zahl> - <Text>
beinhaltet dann haste deinen Delimiter das "-" schonmal gefunden.
Nun brauchste nur noch:
1. Inventarliste Zeile auslesen
1.1. den Zeilenstring zerlegen um die Zahl zu bekommen
2. Delta in schleife auslesen bis Zahl gefunden und dann den gepufferten String aus Schritt 1 in Fehlliste.txt schreiben
3. wieder zu schritt 1 bis EOF =)
Gruß
PS:
verdammt Timo war mit seiner Zeile schneller xD, wobei ich gerne den Fragenden immer die Chance gebe selber noch was zur Lösung beizutragen =).
Silbertablett ist doch shice xD.
Servus,
sorry - mein Kopf raucht und der Kaffee iss alle...
Ich vermute dass ich das aber trotzdem richtig gelesen habe.
Gruß
edit - dafür ist meinKopf Kaffe auch alle - ich marschier mal zum Kaffeeschuppen ...
edit² da bastla heut nicht auf Schleifen springt und ich grad wohl den Schleifer gebe - auf die eine mehr kams da nicht an.
btw: Nett Hallo stand ja da
sorry - mein Kopf raucht und der Kaffee iss alle...
Ich vermute dass ich das aber trotzdem richtig gelesen habe.
for /f "tokens= 1,* delims=-" %%a in (inventar.txt) do findstr "%%a" "delta.txt" && echo %%a - %%b >>liste.txt
Gruß
edit - dafür ist mein
edit² da bastla heut nicht auf Schleifen springt und ich grad wohl den Schleifer gebe - auf die eine mehr kams da nicht an.
btw: Nett Hallo stand ja da
Moin andichrist,
ich weiss ja nicht, ob die andern beiden zu viel Langeweile haben, aber ....
[Die übliche Demo am CMD-Prompt; ">" nicht mit eingeben ]
ggf Ergebnis umleiten in neue Datei mit ">M:\eine\neueDatei.txt"
Grüße
Biber
ich weiss ja nicht, ob die andern beiden zu viel Langeweile haben, aber ....
[Die übliche Demo am CMD-Prompt; ">" nicht mit eingeben ]
>findstr /g:delta.txt inventarliste.txt
3648 - Duschkopf chrom
3649 - Duschkopf blau
3650 - Blumenvase lila
3651 - Blumenvase grün
3652 - Abflußrohr
3753 - Stehlampe Modell Klara
3754 - Funkuhr Modell Schwarzwald
3755 - Tisch
Grüße
Biber
Nee muß noch ein paar minuten hier hocken, weil der Telekomiker vor 20? minuten schon wieder weg sein wollte - dabei iss er noch garnüschd da
[OT]
@ Biber...
kaum schreib ich mal nen Einzeiler...
[/OT]
Grüße
[OT]
@ Biber...
kaum schreib ich mal nen Einzeiler...
[/OT]
Grüße
Moin Andichrist,
Soll ich mal einen Eimer voll davon irgendwo auf den Forumsboden kippen?
Grüße
Biber
Zitat von @Andichrist:
ÄHM! Ich meinte natürlich Deine ursprünglich 100% funktionierte Batch an die (meine) neuen Anforderungen anpassen, dass sie auch hier funktioniert!
Das könntest du auch mit meinen angelegten Schnipseln machen, wenn du eh' grad am Aufräumen bist und/oder langeweile hast.ÄHM! Ich meinte natürlich Deine ursprünglich 100% funktionierte Batch an die (meine) neuen Anforderungen anpassen, dass sie auch hier funktioniert!
Soll ich mal einen Eimer voll davon irgendwo auf den Forumsboden kippen?
Grüße
Biber