hi,
ja da habe ich dann doch noch eine Frage. Das Script läuft von der Sache her gut, wenn ich keine Func dazwischen setze. Setze ich eine ein,dann wird die auch ausgeführt und auch geschrieben. Doch wenn ich das Script ein zweites mal aufrufe, dann beginnt es von Vorne, obwohl die Namen schon in der Referenz.prob enthalten sind. Ich wollte ja erreichen, das nur die Sachen die in der Referenz.(prob).txt nicht enthalten sind übder die Func geholt werden.
Zum besseren Verständnis habe ich beide Dateien mit angehängt. Die Referenz.(prob).txt ist schon mit Daten befüllt, im Format wie es zu sehen ist. Die taeglich.txt wird über ein Dos Fenster befüllt. Dann soll verglichen werden und was in der Referenz.prob fehlt geholt werden. Ich hoffe es ist einleuchten was ich mache.
Ich bin am verzweifel und komme nicht weiter. Hat wer noch einen Lösungsansatz? :weinen:
Spoiler anzeigen
; Dateivergleich anhängen der Unterschiede
#include <file.au3>
#include <Array.au3>
Global $pathMain = "X:\CDR`S Komplett\MCI\Referenz.prob"
Global $pathCompare = "X:\xcftp\taeglich.txt"
Global $mainFile_A
Opt("TrayIconDebug", 1)
If Not FileExists ($pathCompare) Then
_Liste()
EndIf
Sleep(12000)
Global $oldFile_A = $mainFile_A
Global $compare_A
If Not _FileReadToArray($pathCompare, $compare_A) Then
MsgBox(4096, "Error", " Error reading log to Array error:" & @error)
Exit
EndIf
For $i = 1 To UBound($compare_A) - 1
;MsgBox(0,"", "Ich nehme jetzt " & $compare_A[$i] & " und werde gleich gucken ob es mit .cdr endet" )
If StringRight($compare_A[$i], 4) = ".CDR" Then
_verizon()
Sleep(120000)
;MsgBox(0,"", $compare_A[$i] & " endet mit cdr und deshalb gucke ich jetzt ob es schon in der Ursprungsdatei steht" )
_ArraySearch($mainFile_A, $compare_A[$i], 1)
If @error = 6 Then _ArrayAdd($mainFile_A, $compare_A[$i])
EndIf
Next
_FileWriteFromArray($pathMain, $mainFile_A, 1, 0)
;RunWait(@ComSpec & ' /c start ' & $pathMain, '', @SW_HIDE)
FileDelete($pathCompare)
Func _verizon()
run("cmd.exe")
Sleep(500)
send('x:{enter}')
Sleep(500)
Send('cd xcftp\scripts{enter}')
Sleep(1000)
Send('get_file CDRs ')
Send($compare_A[$i])
Send('{Enter}')
Sleep(120000)
Send('exit')
Send('{enter}')
EndFunc
Func _Liste()
Run("cmd.exe")
Sleep(500)
send('x:{enter}')
Sleep(500)
Send('cd xcftp\scripts{enter}')
Sleep(1000)
Send('list_directory CDRs')
Send('{Enter}')
Sleep(1500)
Send('list_directory CDRs')
Sleep(500)
Send(' > x:\xcftp\taeglich.txt')
Send('{Enter}')
Sleep(3000)
Send('exit')
Send('{enter}')
EndFunc