mehrere txt Dateien zu 80 mb Blöcken zusammenfügen



  • Guten morgen,
    ich habe ein kleines Probelm. Ich hab für meine Arbeit ein Excel Makro schreiben müssen, hab aber jetzt ein Problem, welches ich glaub ich nicht in Excel lösen kann.

    Ich habe einen Ordner in dem sich viele Txt files befidnen. jedes File ist zwischen 1 und 20 mb groß. der ganze Ordner kann bis zu paar gb groß sein, also unterschiedlich viele Files haben. Jetzt muss ich die txt Files zu ca 80 mb großen Blöcken zusammenfügen. Besonders ist noch, dass die Letzte Datei in einem Block auch die Erste im nächsten Block sein muss.
    Kann mir jemand dazu ein kleines Progrämchen schreiben? am Besten gleich in ner Exe? 😃 sorry auf diesem Progamiergebiert bin ich eine null!

    Danke schon mal

    Manu



  • Kann man in C machen. Muss man aber nicht, da es geeignetere Sprachen für diese Aufgaben gibt.
    Und da muss nicht unbedingt eine .exe* rauskommen.

    Wenn du ein Makro geschrieben hast, solltest du doch Basic (VBA) können.

    *Ist sowieso blöd eine .exe aus unbekannter Quelle zu starten.



  • mein Problem ist, dass ich nciht weiß wie ich das mit den 80 mb Blöcken in VBA machen kann. dei dateien über ein makro öffen ist kein Problem. aber es darf halt nur bis 80 mb sein dann dann des Makro ausführen und dann wieder einen block zusammenfügen. keine Ahnung wie das in VBA funktionieren soll. mit ner exe hab cih mir gedacht kann man dei exe grad in den Ordner mit den txt files kopieren ausführen und dann hat man seine zusammenfassungen...



  • Das kann auch schon der copy-Befehl von CMD.exe (zumindest das zusammenkopieren)

    Spielt die Reihenfolge der Dateien eine Rolle?
    - zeitlich, alphabetisch

    Soll solange zusammengefasst werden, bis die 80 MB überschritten sind.
    Sind das dann 80 bis 4 Dateien. Wie bestimmst du diese?

    Ist das überhaupt dein eigentliches Problem. Warum willst du die zusammenfassen.
    Evtl. gibt es eine andere Lösung.



  • also mein Problem ist dass ich mit den einzelnen txt dateien ein exel worksheet vollpacken muss bis diesen voll ist. 1.000.000 zeilen ungefähr. das entspricht ca 80 mb. Der gedanke ist sich die files anzuschauen. und sie solang zu addieren bis die nächste zu addierende datei die 80 mb überschreiten würde. dann eine Neue datei beginnen wo die erste txt datei die letzte txt datei der vorrigen zusammengefasten datei ist: Beispiel: zusammengefasst1.txt besteht aus 1.txt 2.txt 3.txt 4.txt zusammengefasst2.txt besteht dann aus 4.txt 5.txt usw usw. Die Dateien heißen Logfile_2014_05_22.txt (bzw .log aber das ist ja egal)
    also anch namen sortiert auflisten.

    ich hoffe du weißt jetzt wleches Problem ich genau habe



  • Wie gesagt, wenn du VBA kannst, kannst du das Programm ja in Visual-Basic schreiben.
    Dazu reicht die freie Express Version vom Visual-Studio.

    manu1910 schrieb:

    ich hoffe du weißt jetzt wleches Problem ich genau habe

    Ja, du benutzt Excel.

    1 Mzeilen in Excel um Log-Dateien anzusehen. 😮

    Nur weil das mit Excel klappt, bedeutet es nicht, dass Excel dafür auch geeignet ist.



  • Also ist dein wahres Limit 1000000 Zeilen und nicht 80MB.
    Was machst du mit den auf diese Weise entstehenden doppelten Zeilen? Filterst du die in Excel dan mühsam wieder raus?
    Wie wäre es, wenn du ein Sortier(Eindeutigkeits)kriterium für jede Zeile festlegen würdest, dein Programm könnte dann alle Zeilen aller Dateien sortieren und splitten.


Anmelden zum Antworten