Textfile in Pakete zusammenfassen per VBS
Hallo zusammen,
ich habe eine Textdatei mit ca. 2000 Zeilen an Daten die ich gerne splitten möchte.
Kann ich irgendwie per VBS mehrere Textdateien erstellen lassen, die nur jeweils 100 Zeilen enthalten?
Also das mir dann aus der einen, 20 neue Dateien erstellt werden? Am besten durchnummeriert und evtl. mit Prüfung ob ein Eintrag doppelt vorkommt.
Vielen Dank für eure Hilfe!
Gruß
Privex007
ich habe eine Textdatei mit ca. 2000 Zeilen an Daten die ich gerne splitten möchte.
Kann ich irgendwie per VBS mehrere Textdateien erstellen lassen, die nur jeweils 100 Zeilen enthalten?
Also das mir dann aus der einen, 20 neue Dateien erstellt werden? Am besten durchnummeriert und evtl. mit Prüfung ob ein Eintrag doppelt vorkommt.
Vielen Dank für eure Hilfe!
Gruß
Privex007
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 270013
Url: https://administrator.de/forum/textfile-in-pakete-zusammenfassen-per-vbs-270013.html
Ausgedruckt am: 23.04.2025 um 04:04 Uhr
1 Kommentar

Const TEXTFILE = "C:\quellordner\daten.txt"
Const PATHOUT = "D:\zielordner"
Const NUMLINES = 100
Set fso = CreateObject("Scripting.FileSystemObject")
content = Split(fso.OpenTextFile(TEXTFILE,1).ReadAll(),vbNewLine)
count = UBound(content)
intFull = Int(count / NUMLINES)
intRest = count Mod NUMLINES
strPath = PATHOUT & "\" & fso.GetBaseName(TEXTFILE) & "_"
For i = 0 To intFull
newPath = strPath & Right("00" & i+1,3) & ".txt"
If Not fso.FileExists(newPath) Then
Set fOut = fso.CreateTextFile(newPath,False)
If i < intFull Then
For j = i*NUMLINES To (i*NUMLINES)+NUMLINES-1
fOut.WriteLine content(j)
Next
ElseIf i = intFull And intRest > 0 Then
For j = (intFull)*NUMLINES To ((intFull)*NUMLINES)+intRest
fOut.WriteLine content(j)
Next
End If
fOut.Close()
Else
MsgBox "Datei '" & newPath & "' existiert schon!",vbExclamation
End If
Next