Hallo Gemeinde
ich benötige mal wieder eure Hilfe. Ich habe zwei txt Dateien. In der einen sind alle schon geladenen Dateinamen drin. In der zweiten sind alle die Dateinamen drin die schon mal geladen wurden aber einen fehler haben. Diese müssen jetzt aus der ersten Datei wieder raus, damit diese erneut und vollständig geladen werden können.
Die Datei 1 wird für ein anderes Script als Referenz benutzt. Alles was da nicht drin ist wird nach erneutem Start gedownlodet.
Beispiel: 1.txt
1of1_01049000024172320061011000000.CDR
1of1_01049000024172320061012000000.CDR
1of1_01049000024172320061013000000.CDR
1of1_01049000024172320061014000000.CDR
1of1_01049000024172320061015000000.CDR
1of1_01049000024172320061016000000.CDR
1of1_01049000024172320061017000000.CDR
1of1_01049000024172320061018000000.CDR
1of1_01049000024172320061019000000.CDR
1of1_01049000024172320061020000000.CDR
Beispiel: 2.txt
1of1_01049000024172320061011000000.CDR
1of1_01049000024172320061012000000.CDR
1of1_01049000024172320061013000000.CDR
1of1_01049000024172320061014000000.CDR
Das ist mein Ansatz der aber nicht recht möchte.
Spoiler anzeigen
#include <file.au3>
#include <Array.au3>
#include <INet.au3>
#include <date.au3>
;
Global $pathMain = "G:\referenz\referenz.prob"
Global $pathCompare = "C:\Datensicherung\fehler.prob"
Global $mainFile_A
Global $oldFile_A = $mainFile_A
Global $compare_A
TrayTip("MBS-N", "Tagesrohdaten von Verizon werden geladen. Bitte warten...", 60000)
;FileWriteLine($PROTFILE, "Am " & _NowDate & " wurden die Datein " & $compare_A[$i] & " gedownloadet."@CRLF)
$CDR = "*.CDR"
$PROTFILE = ""
$Outlook2003 = @ProgramFilesDir & "\Microsoft Office\Office11\Outlook.exe"
$PID = ProcessExists("Outlook.exe")
;
If Not FileExists ($pathCompare) Then
;_Liste()
EndIf
Sleep(12000)
If Not _FileReadToArray($pathCompare, $compare_A) Then ;Fehlermail weil tägliche.txt nicht erstellt werden kann
_errormail1()
Exit
EndIf
If Not _FileReadToArray($pathMain, $mainFile_A) Then
_errormail2()
Exit
EndIf
For $i = 1 To UBound($compare_A) - 1
If StringRight($compare_A[$i], 4) = ".CDR" Then
_ArraySearch($mainFile_A, $compare_A[$i], 1)
If @error = 6 Then
_ArrayAdd($mainFile_A, $compare_A[$i])
_ArrayDelete($mainFile_A,$compare_A[$i])
Sleep(60000)
EndIf
EndIf
Next
_FileWriteFromArray($pathMain, $mainFile_A, 1, 0)
EndIf
Was mache ich falsch? Gibt es eine elegantere Lösung?
MFG Taucher_2006