_FileListToArray

  • huhu irgendwie hab ich n blödes problem :(

    hier der code:

    Spoiler anzeigen
    [autoit]

    #Include <File.au3>
    #Include <Array.au3>
    $logup = @scriptdir&"\logup.ini"
    $array=_FileListToArray(@ScriptDir&"\logs\")
    for $i = 1 to $array[0]
    $t = FileGetTime($array[$i], 0)
    $yyyymdhms = $t[0] & $t[1] & $t[2] & $t[3] & $t[4] & $t[5]
    IniWrite($logup, $array[$i], "time", $yyyymdhms)
    Next

    [/autoit]

    wenn ich nur @scriptdir mache gehts, wenn ich allerdings wie oben noch nen unterordner haben will kommt ein fehler ...was mach ich falsch

    Einmal editiert, zuletzt von Reaker (5. Oktober 2009 um 18:29)

  • Entweder es gibt den Ordner nicht (1), oder er ist leer (4)!

    Spoiler anzeigen
    [autoit]

    #Include <File.au3>
    #Include <Array.au3>
    $logup = @scriptdir&"\logup.ini"
    $array=_FileListToArray(@ScriptDir&"\logs\")
    If @error Then Exit MsgBox(16, "Fehler", @error)
    for $i = 1 to $array[0]
    $t = FileGetTime($array[$i], 0)
    $yyyymdhms = $t[0] & $t[1] & $t[2] & $t[3] & $t[4] & $t[5]
    IniWrite($logup, $array[$i], "time", $yyyymdhms)
    Next

    [/autoit]
  • beides trifft aber zu hab sogar den ordnernamen in autoit reinkopiert, was ja eigentlich auch unlogisch ist, weil man den ja nicht nach 10maligen schaun immernoch falsch hat xD

    es kommt nicht einmal diese msgbox nur in der console der fehler:

    D:\Marcel\Sonstiges\Skripte\Autoit3\fileatt.au3 (8) : ==> Subscript used with non-Array variable.:
    $yyyymdhms = $t[0] & $t[1] & $t[2] & $t[3] & $t[4] & $t[5]
    $yyyymdhms = $t^ ERROR
    >Exit code: 1 Time: 0.206

  • _FileListToArray gibt die Dateinamen zurück ohne den Pfad! Deswegen musst du bei FileGetTime auch den Pfad angeben!

    Hättest du beim ersten Post gleich die Fehlermeldung mitgepostet, wäre es mir gleich aufgefallen ;)

    Spoiler anzeigen
    [autoit]

    #Include <File.au3>
    #Include <Array.au3>
    $logup = @scriptdir&"\logup.ini"
    $array=_FileListToArray(@ScriptDir&"\logs\")
    for $i = 1 to $array[0]
    $t = FileGetTime(@ScriptDir&"\logs\" & $array[$i], 0)
    $yyyymdhms = $t[0] & $t[1] & $t[2] & $t[3] & $t[4] & $t[5]
    IniWrite($logup, $array[$i], "time", $yyyymdhms)
    Next

    [/autoit]
  • hehe ich doofi...immer diese dummen kleinen fehler...danke dir ;)

    /edit ..danke auch Tweaky...ja ich hab auf das andere garnicht so geachtet, dachte der fehler liegt nur beim filelisttoarray

  • Du muß bei Filegettime schon den kompletten Pfad angeben :rofl: .
    Es hilft sehr, wenn man sich den Pfad testweise mit Consolewrite ausgeben läßt

    Spoiler anzeigen
    [autoit]

    #include <File.au3>

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

    $pfad = @ScriptDir & "\logs\"

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

    $logup = @ScriptDir & "\logup.ini"
    $array = _FileListToArray($pfad)
    For $i = 1 To $array[0]
    $t = FileGetTime($pfad & $array[$i], 0)
    $yyyymdhms = $t[0] & $t[1] & $t[2] & $t[3] & $t[4] & $t[5]
    IniWrite($logup, $array[$i], "time", $yyyymdhms)
    Next

    [/autoit]

    Edit: zu spät :whistling: