Problem bei der Überprüfung ob File passend mit Datum vorhanden

  • Hallo @ all

    ich hab da ein Problem mit meinem Script.

    der Grundgedanke ist:
    ich überprüfe auf einem Server ob eine Datenüberleitung richtig funktioniert hat.
    ich will auf das File ob vorhanden und auf das erstelldatum prüfen wenn das ok ist dann gibt es ein Mail das die files ok sind.

    wenn es nicht ok ist d.h. das File Datum ist nicht korrekt bzw das file ist garnicht vorhanden soll eine SMS kommen und ein Mail was die Fehlerbeschreibung beinhaltet.

    ein Prob ist die files haben unterschiedliche körper (05240107.S01 bzw. 05230115.S01 usw.) nur die Endung ist immer gleich.

    so mein code:

    Spoiler anzeigen
    [autoit]

    #comments-start
    CopyRight 2007 (c) Garnreiter
    Version 7.0.0.1
    #comments-end
    #include <file.au3>
    #include <Date.au3>

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

    Global $MAN = IniRead(@ScriptDir & "\Export.ini", "MANDANT", "MAN", "keine Pfad konfiguriert")
    Global $root = IniRead(@ScriptDir & "\Export.ini", "PFADE", "root", "keine Pfad konfiguriert")
    Global $CRS = IniRead(@ScriptDir & "\Export.ini", "PFADE", "CRS", "keine Pfad konfiguriert")
    Global $CRSW = IniRead(@ScriptDir & "\Export.ini", "PFADE", "CRSW", "keine Pfad konfiguriert")
    Global $CRSM = IniRead(@ScriptDir & "\Export.ini", "PFADE", "CRSM", "keine Pfad konfiguriert")
    Global $Ende = IniRead($root & "\log\time.stamp", "TIME", "ende", "NotFound")
    Global $FROM = IniRead(@ScriptDir & "\Export.ini", "MAIL", "FROM", "Jack@verkehr*.lan")
    ;~ Global $TO = IniRead(@ScriptDir & "\Export.ini", "MAIL", "TO", "*@verkehr*.at")
    ;~ Global $TOSMS = IniRead(@ScriptDir & "\Export.ini", "MAIL", "TOSMS", "SMS@SMS.verkehr*.lan")
    ;~ Global $TON = IniRead(@ScriptDir & "\Export.ini", "MAIL", "TON", "*@verkehr*.at")
    Global $TO =*
    Global $TOSMS = "*@SMSGATEWAY.verkehr*.lan"
    Global $TON = *
    Global $MSRV = IniRead(@ScriptDir & "\Export.ini", "MAIL", "SRV", "172.30.241.40")
    Local $file
    Local $nfile

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

    ;------------------------------------------------------------------------------------------------------------------------------------------------------------------
    If FileExists($CRSW & "\*.A" & $MAN) Then
    $t = FileGetTime($CRSW & "\*.A" & $MAN, 1)
    If Not @error Then
    $time = $t[0] & "/" & $t[1] & "/" & $t[2]
    $Time1 = _DateAdd('d', -1, $time)
    $Date = _DateTimeFormat($Time1, 2)
    If $Date = $Ende Then
    If FileExists(@ScriptDir & "\OK_MAIL.txt") Then
    OKMAIL()
    Else
    OKMAIL1()
    EndIf
    FileWriteLine($file, "Das A" & $MAN & " File (Mitarbeiter Export) ist vorhanden " & @CR & @LF & @CR & @LF)
    FileClose($file)
    Else
    If FileExists(@ScriptDir & "\Fail_MAIL.txt") Then
    NOKMAIL()
    Else
    NOKMAIL1()
    EndIf
    FileWriteLine($nfile, "Das A" & $MAN & " File (Mitarbeiter Export) ist mit falschen Datum vorhanden" & @CR & @LF)
    FileWriteLine($nfile, "Bitte die Überleitung auf der CTWS04 Überprüfen" & @CR & @LF)
    FileClose($nfile)
    EndIf
    EndIf
    Else
    If FileExists(@ScriptDir & "\Fail_MAIL.txt") Then
    NOKMAIL()
    Else
    NOKMAIL1()
    EndIf
    FileWriteLine($nfile, "Das A" & $MAN & " File (Mitarbeiter Export) ist nicht vorhanden" & @CR & @LF)
    FileClose($nfile)
    EndIf
    ;------------------------------------------------------------------------------------------------------------------------------------------------------------------
    If FileExists($CRSW & "\*.J" & $MAN) Then
    $t = FileGetTime($CRSW & "\*.J" & $MAN, 1)
    If Not @error Then
    $time = $t[0] & "/" & $t[1] & "/" & $t[2]
    $Time1 = _DateAdd('d', -1, $time)
    $Date = _DateTimeFormat($Time1, 2)
    If $Date = $Ende Then
    If FileExists(@ScriptDir & "\OK_MAIL.txt") Then
    OKMAIL()
    Else
    OKMAIL1()
    EndIf
    FileWriteLine($file, "Das J" & $MAN & " File (Journal Export) ist vorhanden " & @CR & @LF & @CR & @LF)
    FileClose($file)
    Else
    If FileExists(@ScriptDir & "\Fail_MAIL.txt") Then
    NOKMAIL()
    Else
    NOKMAIL1()
    EndIf
    FileWriteLine($nfile, "Das J" & $MAN & " File (Journal Export) ist mit falschen Datum vorhanden" & @CR & @LF)
    FileWriteLine($nfile, "Bitte die Überleitung auf der CTWS04 Überprüfen" & @CR & @LF)
    FileClose($nfile)
    EndIf
    EndIf
    Else
    If FileExists(@ScriptDir & "\Fail_MAIL.txt") Then
    NOKMAIL()
    Else
    NOKMAIL1()
    EndIf
    FileWriteLine($nfile, "Das J" & $MAN & " File (Journal Export) ist nicht vorhanden" & @CR & @LF)
    FileClose($nfile)
    EndIf
    ;------------------------------------------------------------------------------------------------------------------------------------------------------------------
    If FileExists($CRSW & "\*.K" & $MAN) Then
    $t = FileGetTime($CRSW & "\*.K" & $MAN, 1)
    If Not @error Then
    $time = $t[0] & "/" & $t[1] & "/" & $t[2]
    $Time1 = _DateAdd('d', -1, $time)
    $Date = _DateTimeFormat($Time1, 2)
    If $Date = $Ende Then
    If FileExists(@ScriptDir & "\OK_MAIL.txt") Then
    OKMAIL()
    Else
    OKMAIL1()
    EndIf
    FileWriteLine($file, "Das K" & $MAN & " File (Kunden Export) ist vorhanden " & @CR & @LF & @CR & @LF)
    FileClose($file)
    Else
    If FileExists(@ScriptDir & "\Fail_MAIL.txt") Then
    NOKMAIL()
    Else
    NOKMAIL1()
    EndIf
    FileWriteLine($nfile, "Das K" & $MAN & " File (Kunden Export) ist mit falschen Datum vorhanden" & @CR & @LF)
    FileWriteLine($nfile, "Bitte die Überleitung auf der CTWS04 Überprüfen" & @CR & @LF)
    FileClose($nfile)
    EndIf
    EndIf
    Else
    If FileExists(@ScriptDir & "\Fail_MAIL.txt") Then
    NOKMAIL()
    Else
    NOKMAIL1()
    EndIf
    FileWriteLine($nfile, "Das K" & $MAN & " File (Kunden Export) ist nicht vorhanden" & @CR & @LF)
    FileClose($nfile)
    EndIf
    ;-------------------------------------------------------------------------------------------------------------------------------------------------------;
    If FileExists($CRSW & "\*.B" & $MAN) Then
    $t = FileGetTime($CRSW & "\*.B" & $MAN, 1)
    If Not @error Then
    $time = $t[0] & "/" & $t[1] & "/" & $t[2]
    $Time1 = _DateAdd('d', -1, $time)
    $Date = _DateTimeFormat($Time1, 2)
    If $Date = $Ende Then
    If FileExists(@ScriptDir & "\OK_MAIL.txt") Then
    OKMAIL()
    Else
    OKMAIL1()
    EndIf
    FileWriteLine($file, "Das B" & $MAN & " File (SAP Export) ist vorhanden " & @CR & @LF & @CR & @LF)
    FileClose($file)
    Else
    If FileExists(@ScriptDir & "\Fail_MAIL.txt") Then
    NOKMAIL()
    Else
    NOKMAIL1()
    EndIf
    FileWriteLine($nfile, "Das B" & $MAN & " File (SAP Export) ist mit falschen Datum vorhanden" & @CR & @LF)
    FileWriteLine($nfile, "Bitte die Überleitung auf der CTWS04 Überprüfen" & @CR & @LF)
    FileClose($nfile)
    EndIf
    EndIf
    Else
    If FileExists(@ScriptDir & "\Fail_MAIL.txt") Then
    NOKMAIL()
    Else
    NOKMAIL1()
    EndIf
    FileWriteLine($nfile, "Das B" & $MAN & " File (SAP Export) ist nicht vorhanden" & @CR & @LF)
    FileClose($nfile)
    EndIf
    ;-------------------------------------------------------------------------------------------------------------------------------------------------------;
    If FileExists($CRSW & "\*.S" & $MAN) Then
    $t = FileGetTime($CRSW & "\*.S" & $MAN, 1)
    If Not @error Then
    $time = $t[0] & "/" & $t[1] & "/" & $t[2]
    $Time1 = _DateAdd('d', -1, $time)
    $Date = _DateTimeFormat($Time1, 2)
    If $Date = $Ende Then
    If FileExists(@ScriptDir & "\OK_MAIL.txt") Then
    OKMAIL()
    Else
    OKMAIL1()
    EndIf
    FileWriteLine($file, "Das S" & $MAN & " File (SAP Export) ist vorhanden " & @CR & @LF & @CR & @LF)
    FileClose($file)
    Else
    If FileExists(@ScriptDir & "\Fail_MAIL.txt") Then
    NOKMAIL()
    Else
    NOKMAIL1()
    EndIf
    FileWriteLine($nfile, "Das S" & $MAN & " File (SAP Export) ist mit falschen Datum vorhanden" & @CR & @LF)
    FileWriteLine($nfile, "Bitte die Überleitung auf der CTWS04 Überprüfen" & @CR & @LF)
    FileClose($nfile)
    EndIf
    EndIf
    Else
    If FileExists(@ScriptDir & "\Fail_MAIL.txt") Then
    NOKMAIL()
    Else
    NOKMAIL1()
    EndIf
    FileWriteLine($nfile, "Das S" & $MAN & " File (SAP Export) ist nicht vorhanden" & @CR & @LF)
    FileClose($nfile)
    EndIf
    ;-------------------------------------------------------------------------------------------------------------------------------------------------------;
    If FileExists($CRSW & "\*.U" & $MAN) Then
    $t = FileGetTime($CRSW & "\*.U" & $MAN, 1)
    If Not @error Then
    $time = $t[0] & "/" & $t[1] & "/" & $t[2]
    $Time1 = _DateAdd('d', -1, $time)
    $Date = _DateTimeFormat($Time1, 2)
    If $Date = $Ende Then
    If FileExists(@ScriptDir & "\OK_MAIL.txt") Then
    OKMAIL()
    Else
    OKMAIL1()
    EndIf
    FileWriteLine($file, "Das U" & $MAN & " File (SAP Export) ist vorhanden " & @CR & @LF & @CR & @LF)
    FileClose($file)
    Else
    If FileExists(@ScriptDir & "\Fail_MAIL.txt") Then
    NOKMAIL()
    Else
    NOKMAIL1()
    EndIf
    FileWriteLine($nfile, "Das U" & $MAN & " File (SAP Export) ist mit falschen Datum vorhanden" & @CR & @LF)
    FileWriteLine($nfile, "Bitte die Überleitung auf der CTWS04 Überprüfen" & @CR & @LF)
    FileClose($nfile)
    EndIf
    EndIf
    Else
    If FileExists(@ScriptDir & "\Fail_MAIL.txt") Then
    NOKMAIL()
    Else
    NOKMAIL1()
    EndIf
    FileWriteLine($nfile, "Das U" & $MAN & " File (SAP Export) ist nicht vorhanden" & @CR & @LF)
    FileClose($nfile)
    EndIf
    ;-------------------------------------------------------------------------------------------------------------------------------------------------------;
    If FileExists($CRSW & "\*.V" & $MAN) Then
    $t = FileGetTime($CRSW & "\*.V" & $MAN, 1)
    If Not @error Then
    $time = $t[0] & "/" & $t[1] & "/" & $t[2]
    $Time1 = _DateAdd('d', -1, $time)
    $Date = _DateTimeFormat($Time1, 2)
    If $Date = $Ende Then
    If FileExists(@ScriptDir & "\OK_MAIL.txt") Then
    OKMAIL()
    Else
    OKMAIL1()
    EndIf
    FileWriteLine($file, "Das V" & $MAN & " File (Buchungs Gesamt Preis Liste Export) ist vorhanden " & @CR & @LF & @CR & @LF)
    FileClose($file)
    Else
    If FileExists(@ScriptDir & "\Fail_MAIL.txt") Then
    NOKMAIL()
    Else
    NOKMAIL1()
    EndIf
    FileWriteLine($nfile, "Das V" & $MAN & " File (Buchungs Gesamt Preis Liste Export) ist mit falschen Datum vorhanden" & @CR & @LF)
    FileWriteLine($nfile, "Bitte die Überleitung auf der CTWS04 Überprüfen" & @CR & @LF)
    FileClose($nfile)
    EndIf
    EndIf
    Else
    If FileExists(@ScriptDir & "\Fail_MAIL.txt") Then
    NOKMAIL()
    Else
    NOKMAIL1()
    EndIf
    FileWriteLine($nfile, "Das V" & $MAN & " File (Buchungs Gesamt Preis Liste Export) ist nicht vorhanden" & @CR & @LF)
    FileClose($nfile)
    EndIf
    ;-------------------------------------------------------------------------------------------------------------------------------------------------------;
    If FileExists($CRSM & "\*.M" & $MAN) Then
    $t = FileGetTime($CRSM & "\*.M" & $MAN, 1)
    If Not @error Then
    $time = $t[0] & "/" & $t[1] & "/" & $t[2]
    $Time1 = _DateAdd('d', -1, $time)
    $Date = _DateTimeFormat($Time1, 2)
    If $Date = $Ende Then
    If FileExists(@ScriptDir & "\OK_MAIL.txt") Then
    OKMAIL()
    Else
    OKMAIL1()
    EndIf
    FileWriteLine($file, "Das M" & $MAN & " File (MIS Export) ist vorhanden " & @CR & @LF & @CR & @LF)
    FileClose($file)
    Else
    If FileExists(@ScriptDir & "\Fail_MAIL.txt") Then
    NOKMAIL()
    Else
    NOKMAIL1()
    EndIf
    FileWriteLine($nfile, "Das M" & $MAN & " File (MIS Export) ist mit falschen Datum vorhanden" & @CR & @LF)
    FileWriteLine($nfile, "Bitte die Überleitung auf der CTWS04 Überprüfen" & @CR & @LF)
    FileClose($nfile)
    EndIf
    EndIf
    Else
    If FileExists(@ScriptDir & "\Fail_MAIL.txt") Then
    NOKMAIL()
    Else
    NOKMAIL1()
    EndIf
    FileWriteLine($nfile, "Das M" & $MAN & " File (MIS Export) ist nicht vorhanden" & @CR & @LF)
    FileClose($nfile)
    EndIf
    ;-------------------------------------------------------------------------------------------------------------------------------------------------------;
    ;-------------------------------------------------------------------------------------------------------------------------------------------------------;
    If FileExists(@ScriptDir & "\Fail_MAIL.TXT") Then
    $SMSFILE = FileOpen(@ScriptDir & "\Fail_SMS.TXT", 1)
    ; Check if file opened for writing OK
    If $SMSFILE = -1 Then
    MsgBox(0, "Error", "Unable to open file.")
    Exit
    EndIf
    FileWrite($SMSFILE, " Der Jack-Mandant: " & $MAN & " hat Datenueberleitungsprobleme! Bitte um Kontrolle")
    FileClose($SMSFILE)
    RunWait(@ScriptDir & "\VMAILER.EXE " & @ScriptDir & "\Fail_SMS.TXT " & $MSRV & " " & $TOSMS & " " & $FROM)
    Sleep(2000)
    FileDelete(@ScriptDir & "\Fail_SMS.TXT")
    Sleep(2500)

    Else
    $SMSFILE = FileOpen(@ScriptDir & "\OK_SMS.TXT", 1)
    ; Check if file opened for writing OK
    If $SMSFILE = -1 Then
    MsgBox(0, "Error", "Unable to open file.")
    Exit
    EndIf
    FileWrite($SMSFILE, " Der Jack-Mandant: " & $MAN & " hat alle Daten Uebergeleitet")
    FileClose($SMSFILE)
    RunWait(@ScriptDir & "\VMAILER.EXE " & @ScriptDir & "\OK_SMS.TXT " & $MSRV & " [email='06646258027@SMSGATEWAY.verkehrsbuero.lan'][/email] " & $FROM)
    Sleep(2000)
    FileDelete(@ScriptDir & "\OK_SMS.TXT")
    Sleep(2500)
    EndIf
    ;-------------------------------------------------------------------------------------------------------------------------------------------------------;
    If FileExists(@ScriptDir & "\Fail_MAIL.txt") Then
    RunWait(@ScriptDir & "\VMAILER.EXE " & @ScriptDir & "\Fail_MAIL.TXT " & $MSRV & " " & $TO & " " & $FROM)
    Else
    RunWait(@ScriptDir & "\VMAILER.EXE " & @ScriptDir & "\OK_MAIL.TXT " & $MSRV & " " & $TON & " " & $FROM)
    EndIf
    If FileExists(@ScriptDir & "\OK_MAIL.txt") Then FileDelete(@ScriptDir & "\OK_MAIL.txt")
    If FileExists(@ScriptDir & "\Fail_MAIL.txt") Then FileDelete(@ScriptDir & "\Fail_MAIL.txt")
    Run(@ScriptDir & '\Speicher_Warnung.exe', @ScriptDir)

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

    Func NOKMAIL1()
    $nfile = FileOpen(@ScriptDir & "\Fail_MAIL.TXT", 2)
    ; Check if file opened for writing OK
    If $nfile = -1 Then
    MsgBox(0, "Error", "Unable to open file.")
    Exit
    EndIf
    FileWrite($nfile, "to: [email='Helpdesk@verkehrsbuero.at'][/email]" & @CR & @LF)
    FileWrite($nfile, "Subject: " & @MDAY & "." & @MON & "." & @YEAR & " ACHTUNG !! Der Jack (Mandant: " & $MAN & ") hat Datenüberleitungs Probleme!" & @CR & @LF & @CR & @LF)
    FileWrite($nfile, "Diese Files sind auf dem CRS nicht vorhanden :" & @CR & @LF & @CR & @LF)
    EndFunc ;==>NOKMAIL1

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

    Func NOKMAIL()
    $nfile = FileOpen(@ScriptDir & "\Fail_MAIL.TXT", 1)
    ; Check if file opened for writing OK
    If $nfile = -1 Then
    MsgBox(0, "Error", "Unable to open file.")
    Exit
    EndIf
    EndFunc ;==>NOKMAIL

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

    Func OKMAIL1()
    $file = FileOpen(@ScriptDir & "\OK_MAIL.TXT", 2)
    ; Check if file opened for writing OK
    If $file = -1 Then
    MsgBox(0, "Error", "Unable to open file.")
    Exit
    EndIf
    FileWriteLine($file, "to: [email='Helpdesk@verkehrsbuero.at'][/email]" & @CR & @LF)
    FileWriteLine($file, "Subject: " & @MDAY & "." & @MON & "." & @YEAR & " Der Jack (Mandant: " & $MAN & ") hat die Daten auf den CRS übergeleitet!" & @CR & @LF & @CR & @LF)
    FileWriteLine($file, "Die Files sind auf dem CRS vorhanden:" & @CR & @LF & @CR & @LF)
    EndFunc ;==>OKMAIL1

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

    Func OKMAIL()
    $file = FileOpen(@ScriptDir & "\OK_MAIL.TXT", 1)
    ; Check if file opened for writing OK
    If $file = -1 Then
    MsgBox(0, "Error", "Unable to open file.")
    Exit
    EndIf
    EndFunc ;==>OKMAIL

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

    Exit

    [/autoit]

    So mein Problem ist ich bekomme immer eine Gutmeldung auch wenn ich das File lösche bzw umbenene aber auch wenn ich ein altes file (mit anderem datum) einspiele..........

    ?( ?( ?(

    Bitte um eure Hilfe ich steh momentan auf dem Schlauch .....

    Edit Mega: E-Mail entfernt

    danke TOMTOM

  • Zitat

    Original von TOMTOM25m
    weis keiner einen rat wie ich das Script umschreiben muss ?


    man braucht ne menge zeit um sich in ein script rein zu arbeiten :rolleyes:
    deine globalconstants sind mir noch nicht alles klar...

  • Zitat

    Original von snoozer
    man braucht ne menge zeit um sich in ein script rein zu arbeiten :rolleyes:
    deine globalconstants sind mir noch nicht alles klar...

    ok kannst mich ja fragen :) :D

    ich poste dir mal die Export.ini

    Spoiler anzeigen
    [autoit]


    [PFADE]
    root=D:
    JACDAT=D:\JackDat
    JACOFC=D:\JackOFC
    JACPROG=D:\JackProg
    ODBC=D:\ODBC_SAVE

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

    JACKODBC=\\JACKODBC

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

    CRS=\\CRS.verkehrsbuero.lan\E$\
    CRSW=\\crs.verkehrsbuero.lan\OEVB_Schnittstelle\Work\SAP
    CRSM=\\crs.verkehrsbuero.lan\OEVB_Schnittstelle\Work\MIS
    ;CRS=C:
    CRSPFADW=\OEVB_Schnittstelle\Work
    CRSPFADA=\OEVB_Schnittstelle\Archiv\Jack2007

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

    WBJ=\\DCSRV.verkehrsbuero.lan\WBJ-Daten\Jack_Journal
    ;WBJ=C:\OEVB_Schnittstelle\test\Jack_Journal

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

    EXP=V:
    SAVE=D:\Save_NACH_Rebuild
    BACKUP=\\backup1\Jack\taegliche_Sicherung_JackDAT
    ;SCHLAF=900
    SCHLAF=621378

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

    [MAIL]
    FROM=VB_Jack@verkehr*.lan
    TO=Verteiler.Jackverarbeitung@verkehr*.at
    TON=Verteiler.Jack_Gut@verkehr*.at
    TOM=Thomas.Garnreiter@verkehr*.at
    TOSMS=SMS*@verkehr*.at
    SRV=172.30.241.40
    ;SRV=Mailserver.lan

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

    [SAP]
    von=
    bis=
    pfad=D:\OEVB_Schnittstelle\Work\SAP

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

    [MIS]
    pfad=D:\OEVB_Schnittstelle\Work\MIS

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

    [Server]
    FAIRCOM="FAIRCOMS"
    SRV=jack1@FAIRCOMS

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

    [RENR]
    Beginn=2090000
    Ende=2400000

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

    [Buchungsjahr]
    Jahr=2006

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

    [PW]
    pw=ct

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

    [FEIERTAGS_JAHR]
    FETA=2007

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

    [MANDANT]
    MAN=01

    [/autoit]
  • Alter, Falter...

    Hab Dein Skript mal ein "wenig" verkleinert. (Wenn ich nicht total blind war, dann wird achtmal das Gleiche gemacht (nur mit anderer Dateiendung und Debugmeldung).

    Hab mir das Skript nicht näher angeschaut, aber Du kannst Dir da noch vieles vieles einfacher machen. Du prüfst z.B. zum Ende hin nochmal auf Dateien, auf die Du zu Anfang geprüft hast (Wo sollen die denn hin sein? Dein Skript löscht doch nichts.)

    Lass Dir mal den ausgelesenen Timestamp aus der INI und den von Dir erzeugten Timestamp in ner MSGBox ausgeben und überprüfe deine Abfragen vor Fehlermeldungen, dann wird das was. :D

    Spoiler anzeigen
    [autoit]

    #NoTrayIcon
    #include <Date.au3>
    #include <File.au3>

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

    Opt("MustDeclareVars", 1)
    Opt("RunErrorsFatal", 0)

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

    Func CheckFile($s_filename, $i_mode = 2)
    Local $h_file = -1

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

    $h_file = FileOpen($s_filename, $i_mode)
    If $h_file == -1 Then
    MsgBox(16, "Error", "Unable to open file.")
    Exit (1)
    EndIf

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

    Return ($h_file)
    EndFunc ;==>CheckFile

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

    Func FailMailExists($s_filename, $s_mandant)
    Local $h_file = -1

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

    $h_file = CheckFile($s_filename, 2)
    FileWrite($h_file, "To: [email='Helpdesk@verkehrsbuero.at'][/email]" & @CRLF)
    FileWrite($h_file, "Subject: " & @MDAY & "." & @MON & "." & @YEAR & " ACHTUNG !! Der Jack (Mandant: " & $s_mandant & ") hat Datenüberleitungs Probleme!" & @CRLF & @CRLF)
    FileWrite($h_file, "Diese Files sind auf dem CRS nicht vorhanden :" & @CRLF & @CRLF)

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

    Return ($h_file)
    EndFunc ;==>FailMailExists

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

    Local Const $S_CONFIGFILE = @ScriptDir & "\Export.ini"
    Local Const $S_EMPTYVAL = "Keine Pfad konfiguriert"
    Local Const $S_OKFILE = @ScriptDir & "\OK_MAIL.txt"
    Local Const $S_FAILFILE = @ScriptDir & "\Fail_MAIL.txt"
    Local Const $S_OKSMSFILE = @ScriptDir & "\OK_SMS.TXT"
    Local Const $S_FAILSMSFILE = @ScriptDir & "\Fail_SMS.TXT"
    Local Const $s_smsrecipient = "*"
    Local Const $A_FILEEXT[8] = ["*.A", "*.J", "\*.K", "\*.B", "\*.S", "\*.U", "*.V", "\*.M"]

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

    Local $s_mandant = IniRead($S_CONFIGFILE, "MANDANT", "MAN", $S_EMPTYVAL)
    Local $A_DESCRIPTION[8] = ["A" & $s_mandant & " File (Mitarbeiter Export)", "J" & $s_mandant & " File (Journal Export)", _
    "K" & $s_mandant & " File (Kunden Export)", "B" & $s_mandant & " File (SAP Export)", _
    "S" & $s_mandant & " File (SAP Export)", "U" & $s_mandant & " File (SAP Export)", _
    "V" & $s_mandant & " File (Buchungs Gesamt Preis Liste Export)", "M" & $s_mandant & " File (MIS Export)"]

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

    Local $s_crspath = IniRead($S_CONFIGFILE, "PFADE", "CRS", $S_EMPTYVAL)
    Local $s_crsmpath = IniRead($S_CONFIGFILE, "PFADE", "CRSM", $S_EMPTYVAL)
    Local $s_crswpath = IniRead($S_CONFIGFILE, "PFADE", "CRSW", $S_EMPTYVAL)
    Local $s_rootpath = IniRead($S_CONFIGFILE, "PFADE", "root", $S_EMPTYVAL)
    Local $s_timeend = IniRead($s_rootpath & "\log\time.stamp", "TIME", "ende", "NotFound")
    Local $s_mailsender = IniRead($S_CONFIGFILE, "MAIL", "FROM", "Jack@verkehr*.lan")
    Local $s_mailserver = IniRead($S_CONFIGFILE, "MAIL", "SRV", "172.30.241.40")

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

    Local $s_currentfile, $s_filetime = ""
    Local $a_filetime, $h_file = -1

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

    For $i = 0 To $A_FILEEXT[0] Step 1
    $s_currentfile = $s_crswpath & "\" & $A_FILEEXT[$i] & $s_mandant

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

    If FileExists($s_currentfile) == 1 Then
    $a_filetime = FileGetTime($s_currentfile, 1, 0)
    If _DateTimeFormat(_DateAdd('d', -1, $a_filetime[0] & "/" & $a_filetime[1] & "/" & $a_filetime[2]), 2) = $s_timeend Then
    If FileExists($S_OKFILE) == 1 Then
    $h_file = CheckFile($S_OKFILE, 1)
    FileWriteLine($h_file, "To: [email='Helpdesk@verkehrsbuero.at'][/email]" & @CRLF)
    FileWriteLine($h_file, "Subject: " & @MDAY & "." & @MON & "." & @YEAR & " Der Jack (Mandant: " & $s_mandant & ") hat die Daten auf den CRS übergeleitet!" & @CRLF & @CRLF)
    FileWriteLine($h_file, "Die Files sind auf dem CRS vorhanden:" & @CRLF & @CRLF)
    Else
    $h_file = CheckFile($S_OKFILE, 2)
    EndIf
    FileWriteLine($h_file, "Das " & $A_DESCRIPTION[$i] & " ist vorhanden" & @CRLF & @CRLF)
    FileClose($h_file)
    Else
    If FileExists($S_FAILFILE) == 1 Then
    $h_file = FailMailExists($S_FAILFILE, $s_mandant)
    Else
    $h_file = CheckFile($S_FAILFILE, 2)
    EndIf
    FileWriteLine($h_file, "Das " & $A_DESCRIPTION[$i] & " ist mit falschen Datum vorhanden" & @CRLF)
    FileWriteLine($h_file, "Bitte die Überleitung auf der CTWS04 Überprüfen" & @CRLF)
    FileClose($h_file)
    EndIf
    Else
    If FileExists($S_FAILFILE) == 1 Then
    $h_file = CheckFile($S_FAILFILE, 1)
    Else
    $h_file = FailMailExists($S_FAILFILE, $s_mandant)
    EndIf
    FileWriteLine($h_file, "Das " & $A_DESCRIPTION[$i] & " ist nicht vorhanden" & @CRLF)
    FileClose($h_file)
    EndIf
    Next

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

    If FileExists($S_FAILFILE) == 1 Then
    $h_file = CheckFile($S_FAILSMSFILE, 1)
    FileWrite($h_file, " Der Jack-Mandant: " & $s_mandant & " hat Datenueberleitungsprobleme! Bitte um Kontrolle!")
    FileClose($h_file)
    RunWait(@ScriptDir & "\VMAILER.EXE " & $S_FAILSMSFILE & " " & $s_mailserver & " " & $s_smsrecipient & " " & $s_mailsender)
    FileDelete($S_FAILSMSFILE)
    Else
    $h_file = CheckFile($S_OKSMSFILE, 1)
    FileWrite($h_file, " Der Jack-Mandant: " & $s_mandant & " hat alle Daten uebergeleitet")
    FileClose($h_file)
    RunWait(@ScriptDir & "\VMAILER.EXE " & $S_OKSMSFILE & " " & $s_mailserver & " [email='06646258027@SMSGATEWAY.verkehrsbuero.lan'][/email] " & $s_mailsender)
    FileDelete($S_OKSMSFILE)
    EndIf

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

    If FileExists($S_FAILSMSFILE) Then
    RunWait(@ScriptDir & "\VMAILER.EXE " & $S_FAILFILE & " " & $s_mailserver & " " & $s_smsrecipient & " " & $s_mailsender)
    Else
    RunWait(@ScriptDir & "\VMAILER.EXE " & $S_OKFILE & " " & $s_mailserver & " " & $s_smsrecipient & " " & $s_mailsender)
    EndIf

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

    If FileExists($S_OKFILE) == 1 Then
    FileDelete($S_OKFILE)
    EndIf

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

    If FileExists($S_FAILFILE) == 1 Then
    FileDelete($S_FAILFILE)
    EndIf

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

    Run(@ScriptDir & '\Speicher_Warnung.exe', @ScriptDir)

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

    Exit (0)

    [/autoit]

    Edit BugFix: Spoiler eingefügt

  • Zur Frage:

    Zitat

    Hab mir das Skript nicht näher angeschaut, aber Du kannst Dir da noch vieles vieles einfacher machen. Du prüfst z.B. zum Ende hin nochmal auf Dateien, auf die Du zu Anfang geprüft hast (Wo sollen die denn hin sein? Dein Skript löscht doch nichts.)

    also

    es soll bei einer OK-Meldung so ablaufen:
    eine SMS an mich mit der OK-Meldung
    ein Mail an meine Kollegen mit der OK-Meldung

    es soll bei einer Fail-Meldung so ablaufen:
    eine SMS an einen SMS-Verteiler (da sind alle Helpdeskhandys drinnen) mit der kurzen Meldung das ein Fehler aufgetreten ist.
    eine Mail an alle Helpdesk Mitarbeiter mit der genauen Fehlerbeschreibung.


    danke für die Hilfe
    TOMTOM

    :D :D :D