FileGetTime mit Varriable?

  • Heyho, eine kurze kleine Frage :)
    Ich habe ein Script, welches jeden Tag um 12 Uhr bestimmte Dateien kopieren soll, und zwar, diejenigen die noch nicht kopiert wurden. Hintergrund:
    Unser Unternehmen erstellt täglich Projekte im ERP - System. Diese Projekte werden als XML Dateien angelegt und müssen täglich in ein zweites System kopiert werden. Allerdings nur diese, welche noch nicht kopiert wurden. Meine Idee:
    Ein Script durchsucht den Ordner nach den XML Dateien, und liest ihr Erstelldatum aus. In einer Ini steht, wann das letzte mal eine Datei über das Script kopiert wurde. Alle Dateien, welche später erstellt wurden, werden kopiert.
    Soweit so gut.

    Das jetzige Script ließt allerdings nur alle XML Dateien aus. Beim FileGetTime, werden keine Werte ausgegeben. Meine Vermutung ist, dasss auch dort der Fehler liegt, allerdings komme ich nicht drauf...

    Wäre froh, wenn mir jemand helfen würde...

    Besten Dank schonmal :)

    [autoit]

    Local $first = FileFindFirstFile("SERVER\PFAD\*.xml")

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

    If $first = -1 Then
    MsgBox(0, "Es ist ein Fehler aufgetreten!", "Es wurden keine XML Dateien gefunden. Bitte Prüfen Sie die Erreichbarkeit zum Server!")
    Exit
    EndIf

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

    While 1
    Local $file = FileFindNextFile($first)
    If @error Then
    ExitLoop
    EndIf

    $filetime = FileGetTime($file,1,1)
    MsgBox(0,"",$filetime)

    ToolTip("File: " & $file & @CRLF & "Time: " & $filetime,-1,-1,"Fileübersicht")

    $lastfile = IniRead("\\SERVER\PFAD\DATEI.ini","lastfile","date","0")
    IniWrite("\\SERVER\PFAD\DATEI.ini","lastfile","date","0")
    $filetime = Number($filetime)
    $lastfile = Number($lastfile)

    If $filetime > $lastfile Then

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

    MsgBox(4096, "File:", $file)

    EndIf
    WEnd

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

    FileClose($first)

    [/autoit]

    Einmal editiert, zuletzt von Jasfar (5. August 2013 um 15:55)

  • Ich hatte immer mal wieder Probleme mit Arrays. Probier mal dein Script umzubauen das es wie in der Hilfe alles beinhaltet (Mit error etc.)

    [autoit]


    Local $t = FileGetTime(@WindowsDir & "\notepad.exe", 1)

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

    If Not @error Then
    Local $yyyymd = $t[0] & "/" & $t[1] & "/" & $t[2]
    MsgBox(0, "Creation date of notepad.exe", $yyyymd)
    EndIf

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


    Ich denke du musst das ganze dann von den Arrays in einen String zusammenfügen

    Müsste dann ungefähr so sein?!

    [autoit]


    $filetime = FileGetTime($file,1,1)
    MsgBox(0,"",$filetime[0] & "/" & $filetime[1] & "/" & $filetime[2])

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