Guten Tag allerseits^^
Ich hab mir ein kleines Programm geschrieben, dass den Inhalt 2er Textdateien zusammenführen soll. Allerdings braucht das Programm bei größeren Inhalten viel zu lange und daher suche ich nach einer Alternative, damit es um einiges schneller arbeitet. Wenn jetzt aber als Beispiel In beiden Textdateien nun jeweils 100 Wörter in diesem Aufbau stehen, dann braucht das Programm schon ca 5 Minuten um deren Inhalte zu vergleichen und die neuen Wörter aus der 1. Textdatei in die 2. Textdatei zu kopieren. Das ist schon recht lange, finde ich. Daher bitte ich euch um Hilfe. Kennt ihr vielleicht schnellere und bessere Methoden als die, die ich angewandt hab?
Beispiel des Aufbaus der 2 Textdateien:
Textdatei 1:
Textdatei 2:
[autoit]#include <file.au3>
Dim $aRecords, $bRecords
; ------------------------- FIRST FILE ------------------------------------
[/autoit][autoit][/autoit][autoit]; Shows the filenames of all files in the current directory.
$search1 = FileFindFirstFile("output/*.txt")
; Check if the search was successful
If $search1 = -1 Then
MsgBox(0, "Error", "No files/directories matched the search pattern")
Exit
EndIf
$fileread1 = FileFindNextFile($search1)
$file1 = $fileread1
;~ MsgBox(4096, "File1:", $file1)
; Close the search handle
FileClose($search1)
; ------------------------- NEXT FILE ------------------------------------
[/autoit][autoit][/autoit][autoit]; Shows the filenames of all files in the current directory.
$search2 = FileFindFirstFile("input/*.txt")
; Check if the search was successful
If $search1 = -1 Then
MsgBox(0, "Error", "No files/directories matched the search pattern")
Exit
EndIf
$fileread2 = FileFindNextFile($search2)
$file2 = $fileread2
;~ MsgBox(4096, "File2:", $file2)
; Close the search handle
FileClose($search2)
;<< ------------------------- FILE Readed ------------------------- >>
;----------------------------------------------------------------
;--------------------------- Programm --------------------------
If Not _FileReadToArray("input/" & $file2, $aRecords) Then
MsgBox(4096, "Error", " Error reading log to Array2 error:" & @error)
Exit
EndIf
If Not _FileReadToArray("output/" & $file1, $bRecords) Then
MsgBox(4096, "Error", " Error reading log to Array1 error:" & @error)
Exit
EndIf
For $x = 1 To $aRecords[0]
;Msgbox(0,'Record:' & $x, $aRecords[$x])
$cRecords = True
For $y = 1 To $bRecords[0]
If $aRecords[$x] == $bRecords[$y] Then
$cRecords = False
EndIf
Next
If $cRecords == True Then
$file = FileOpen("output/" & $file1, 1)
FileWrite($file, @CRLF & $aRecords[$x])
FileClose($file)
EndIf
Next
MsgBox(64, "Status", "Dateivergleich abgeschlossen!")