smileyman 10 Geschrieben 13. November 2009 Melden Teilen Geschrieben 13. November 2009 Hallo liebe Batchkenner, ich versuche gerade mit einer Batchdatei zwei TXT-Dateien zusammenzufassen. Der Aufbau beider Textdateien ist wie folgt: pnr.txt 1234000012312 1235000012355 ukw.txt 1234;555 1235;111 Als Ziel hätte ich gerne: 1234;12312;555 1234;12355;111 -> Also das erste File bereinigen und aus der zweiten Datei den Wert hinzufügen. Die erste Datei zu bereinigen habe ich noch problemlos hinbekommen: setlocal ENABLEDELAYEDEXPANSION set "Alt=C:\tmp\pnr.txt" set "Neu=C:\tmp\pnr-bereinigt.txt" if exist "%Neu%" del "%Neu%" for /f "usebackq delims=" %%i in ("%Alt%") do ( set "Z=%%i" >>"%Neu%" echo !Z:~0,4!;!Z:~5,3!) Allerdings wollte ich ja die Infos der ukw.txt noch hinzufügen. - Hier muss ich wohl eine zweite for-Schleife und einen findstr mit reinverschachteln. Schließlich muss er ja nach dem 1. Wert in der ukw.txt suchen und den entsprechenden String zurückliefern. Leider habe will das bei mir aber irgendwie nicht klappen. - Kann mir da jemand mal einen Tipp geben? Für eine Idee wäre ich euch sehr dankbar. Daniel Zitieren Link zu diesem Kommentar
Dukel 454 Geschrieben 13. November 2009 Melden Teilen Geschrieben 13. November 2009 Ich könnte was passendes in Powershell basteln. Zitieren Link zu diesem Kommentar
smileyman 10 Geschrieben 13. November 2009 Autor Melden Teilen Geschrieben 13. November 2009 Hey Dukel, auch ok. - Obwohl mir eine cmd lieber wäre, wäre PowerShell sicherlich noch besser. Kannst du das mal probieren? - Wäre dir da super dankbar. Daniel Zitieren Link zu diesem Kommentar
Dukel 454 Geschrieben 13. November 2009 Melden Teilen Geschrieben 13. November 2009 Wie soll das erste bereinigt werden? Alle 0 raus? Alles zwischen den ersten 4 und den letzten 5 weg? Ändern sich die Anzahl der Stellen? Zitieren Link zu diesem Kommentar
smileyman 10 Geschrieben 14. November 2009 Autor Melden Teilen Geschrieben 14. November 2009 Hallo Dukel, nachdem ich heute Nacht noch etwas an der Datenvorlierferung gearbeitet habe, hat sich die Situation leicht verändert: Dem Script würde nun als Aufrufparameter die ersten Zeichen der PNR.txt (1234) übermittelt werden. - Es müsste dann nur noch die PNR.txt durchsuchen, und den gefundenen Wert (12312) in ein neues File schreiben. Bei einer Batch würde ich jetzt mit for, findstr und echo arbeiten. - Da das Script allerdings sehr häufig laufen würde, stellt sich mir die Frage, ob Powershell nicht performanter und zuverlässiger wäre. Ich versuche mich eben etwas in PS einzulesen und mal etwas zu probieren. - Evtl. kannst du mir allerdings mal einen Tipp in die richtige Richtung geben. Grüße und Danke smileyman Zitieren Link zu diesem Kommentar
Dukel 454 Geschrieben 14. November 2009 Melden Teilen Geschrieben 14. November 2009 Performanter nicht unbedingt, aber zuverlässiger und man kann mehr machen. Zitieren Link zu diesem Kommentar
Empfohlene Beiträge
Schreibe einen Kommentar
Du kannst jetzt antworten und Dich später registrieren. Falls Du bereits ein Mitglied bist, logge Dich jetzt ein.