Dateien teilen

  • Hallo zusammen.

    Ich habe Dateien, die haben cirka 5.000 Zeilen. Ich möchte nun diese Textdateien so aufteilen, das diese geschnitten werden in Teilen à 100 Zeilen.
    Das heißt, wenn ich Datei beispiel1.txt aufteilen möchte, das dann die ersten 100 Zeilen in Datei beispiel1_1.txt kommen, die nächsten 100 Zeilen in Beispiel1_2.txt kommen usw. Wenn die letzten nicht genau 100 sind, dann diese einfach mit unbekannter Zeilenmenge in die letzte Datei.

    War das verständlich?

    LG, Lina.

    Lieben Gruß,
    Alina

    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

    Geheime Information: ;)
    OuBVU5ebLhHu5QvlnAyQB4A7SzBrvWulwL7RLl2BdH5tI6sIYspeMKeXMSXl

    • Offizieller Beitrag

    Hi,
    versuchs mal so:

    [autoit]

    #include <File.au3>
    Global $Quelle = 'Dateipfad'
    Global $aFile, $n = 0, $FileOut = 'Datei1_', $sfx = '.txt'

    [/autoit][autoit][/autoit][autoit]

    _FileReadToArray($Quelle, $aFile)
    For $i = 1 To UBound($aFile) -1
    If Mod($i, 100) = 1 Then $n += 1
    FileWriteLine($FileOut & $n & $sfx, $aFile[$i])
    Next

    [/autoit]
  • ... oder ohne so einen Array-Schnick-Schnack mit alter herkömmlicher Programmierkunst:

    [autoit]

    $in = FileOpen("Eingabe.txt",0)
    $i = 1
    While 1
    $out = FileOpen("Ausgabe_" & $i & ".txt",1)
    For $j = 1 to 100
    $line = FileReadLine($in)
    If @error = -1 Then ExitLoop 2
    FileWriteLine($out,$line)
    Next
    FileClose($out)
    $i += 1
    Wend
    FileClose($in)

    [/autoit]

    Zur Nutzung dieses Forum's, ist ein Übersetzer für folgende Begriffe unerlässlich:

    "On-Bort, weier, verscheiden, schädliges, Butten steyling, näckstet, Parr, Porblem, scripe, Kompletenz, harken, manuel zu extramieren, geckukt, würglich, excell, acces oder Compilevorgeng"

  • Danke.

    Es funktioniert. ;) *freu*

    LG, Lina.

    Lieben Gruß,
    Alina

    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

    Geheime Information: ;)
    OuBVU5ebLhHu5QvlnAyQB4A7SzBrvWulwL7RLl2BdH5tI6sIYspeMKeXMSXl