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 ![]()
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 ![]()
Die Dateierweiterung bekommst du z.B. so:
$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
Und das Datum kannst du mithilfe der Funktion
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:
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.
Danke an euch beiden ihr habt mir sehr weiter geholfen thx thx ![]()
Edit: Doch net XD
Also nochmal wie kann man den Filename auslesen ?
Schau dir die Hilfe zu
[autoit]_PathSplit
[/autoit]an, oder [Beispiel] BMP-, GIF- & JPG-Viewer da kannst du es in einem kleinen Skript sehen,
mfg autoBert
Das ist einfacher und schneller ;).
[autoit]#include <Array.au3>
$Dateiname = "Hallo.gutentag.txt"
$aRet = StringRegExp($Dateiname,"(.+)\.\w*$",3)
_ArrayDisplay($aRet)