FileGetTime

  • Hallo zusammen,


    ich habe ein kleines Programm geschrieben das mit unter anderen das Änderungsdatum von Dateien in ein File schreibt (mit Dateinnamen).

    Auf einem deutschen Windows 2003 funktioniert das auch sauber, aber jetzt habe ich das Prog auf ein englisches Windows 2003 geschoben (dort soll es laufen) und hier funktioniert es nicht mehr.


    D.h. der Dateiname wird noch weggeschrieben, aber die Änderungszeit ist nicht mehr in der Datei.

    Dasselbe Prog läuft auf einem deutschen Win2003 aber einwandfrei.


    Was mach ich falsch ?


    Danke für Hilfe

  • ich denke ma es wäre hilfriech, das script zu sehen, ich kann mir das nicht erklären (höchstens dass beide windows sich voneinander unterscheiden, nur weil sie beim übersetzen geändert wurden)
    hast du schon nach derartigen problemen gegoogelt? ist auch immer wieder hilfreich
    es könnte auch daran liegen, dass die tastatur anders ist (ich weiß das ist abwegig aber man sollte alle möglichkieten betrachten, schließlich kennen wir das script noch nicht)

  • Es sind 2 Scripte:

    Hier mal das Script das ich zum Einlesen verwende:

    [autoit]

    #include <file.au3>
    #include <array.au3>
    #include <INet.au3>
    ;Zielordner
    $target = "c:\word\"
    $file_ein = "C:\Word\Result.txt"
    Global $files
    Do
    $files = _FileListToArray ($target, '*', 1)
    Sleep (20)
    Until $files <> 0
    $Ergebnis = FileOpen($file_ein, 2)
    Global $filestime[Ubound ($files)][2]
    For $i = 1 to UBound ($files) - 1
    $filestime [$i][0] = $files[$i]
    $filestime [$i][1] = FileGetTime($target & $files[$i],0,1)
    $zeile = $filestime[$i][0] & "," & $filestime[$i][1]
    FileWriteLine($Ergebnis, $zeile & @CRLF)
    $zeile =""
    Next
    FileClose($Ergebnis)

    [/autoit]
  • Hallo jmewald,

    ändere das Skript einmal so ab:

    [autoit]

    #include <file.au3>
    #include <array.au3>
    #include <INet.au3>
    ;Zielordner
    $target = "c:\word\"
    $file_ein = "C:\Word\Result.txt"
    Global $files
    Do
    $files = _FileListToArray ($target, '*', 1)
    Sleep (20)
    Until $files <> 0
    $Ergebnis = FileOpen($file_ein, 2)
    Global $filestime[Ubound ($files)][2]
    For $i = 1 to UBound ($files) - 1
    $filestime [$i][0] = $files[$i]
    ; $filestime [$i][1] = FileGetTime($target & $files[$i],0,1) ;original
    $filestime [$i][1] = FileGetTime($files[$i],0,1)
    $zeile = $filestime[$i][0] & "," & $filestime[$i][1]
    FileWriteLine($Ergebnis, $zeile & @CRLF)
    $zeile =""
    Next
    FileClose($Ergebnis)

    [/autoit]

    und teste auf beiden Systemen,

    mfg (Auto)Bert

  • Hallo Autobert,


    leider tut sich da auch nichts.


    Ich kriege auf dem englischen Windows 2003 überhaupt keine Werte zurück.

    Habe Msgbox mal eingefügt, leer.

    Habe direkt mal einen direkten Pfad zu einer Datei angegeben und mit msgbox abgefragt, auch kein Wert.

    Greift die Funktion unter englischem BS nicht ? Hängt das mit dem Datumsformat zusammen ?


    Vielen Dank

  • Alter schützt vor Blödheit nicht.


    Sorry für den Umstand, aber das Prob saß mal wieder vor dem Bildschirm.


    Bei der Variable $target fehlt in der Pfadangabe ein \, ansonsten kann er den Pfad nicht finden.


    Vielen Dank für alle Eure HIlfe.