Infos über Dateien finden /Dateinamen finden

  • Hi,
    Wie kann ich folgende Infos von einer datei in AutoIT finden? :

    Name
    Type (.exe;.txt etc)
    Erstellungs Datum / Zeit

    Ich hoffe ihr könnt mir helfen ;)

    Einmal editiert, zuletzt von AgentProxon (27. November 2010 um 15:54)

  • Die Dateierweiterung bekommst du z.B. so:

    Spoiler anzeigen
    [autoit]

    $sFile = "C:\Dir\Test.txt"

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

    MsgBox(0,"",_FileNameGetExt($sFile))

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

    Func _FileNameGetExt($sFileName)
    Return StringRight($sFileName, StringLen($sFileName) - StringInStr($sFileName, "."))
    EndFunc

    [/autoit]


    Und das Datum kannst du mithilfe der Funktion

    [autoit]

    FileGetTime

    [/autoit]

    herausbekommen.

  • Der Typ ist ja nichts weiter als vom Dateinamen alles hinter dem letzten Punkt.
    also würde man mit StringInStr() (in Verbindung mit dem 4. Parameter "occurence" = -1) schauen wieviel Zeichen noch hinter dem letzten Punkt kommen und dann mit StringRight() diese abschneiden.
    Alternativ könnte man es auch mit _PathSplit() machen.
    Zum Thema Dateidatum schaust du dir in der Hilfe mal die Funktionen der Sparte ("File Management") an (entsprechend in Deutsch wenn du die deutsche Hilfedatei benutzt) - da solltest du schnell auf die richtige Funktion stoßen.

    name22
    Deine Lösung könnte Probleme bei Ordnern bereiten in deren Name ein Punkt vorkommt (was ja erlaubt ist).
    Sicherer sollte es z.B. so sein:

    [autoit]

    StringTrimLeft($sFileName, StringInStr($sFileName, ".", 2, -1))

    [/autoit]


    Aber auch diese Lösung würde versagen wenn im Ordnernamen ein Punkt vorkommt aber im Dateinamen keiner.
    So einfach diese Aufgabenstellung also auf den ersten Blick aussieht muss man wohl dennoch ein bisschen weitschweifiges Error-Handling betreiben.
    In dem Fall kann man sich dies mit einem regulären Ausdruck aber deutlich vereinfachen.

    2 Mal editiert, zuletzt von AspirinJunkie (27. November 2010 um 13:47)

  • Danke an euch beiden ihr habt mir sehr weiter geholfen thx thx ;)

    Edit: Doch net XD

    Also nochmal wie kann man den Filename auslesen ?

    5 Mal editiert, zuletzt von AgentProxon (27. November 2010 um 14:18)