Hi!
wie schaffe ich es nur Dateien mit einer bestimmten Endung (z.B. .txt) zu löschen? Also alle aus einem Ordner
MfG
MOZ
Dateien mit bestimmtem Dateityp löschen
-
- [ gelöst ]
-
MOZ -
21. Januar 2009 um 19:40 -
Geschlossen -
Erledigt
-
-
Hi,
Spoiler anzeigen
[autoit]#include <Array.au3>
[/autoit] [autoit][/autoit] [autoit]
#include <File.au3>$path = "C:\"
[/autoit] [autoit][/autoit] [autoit]$files = _FileListToArray($path, "*.txt", 1)
[/autoit] [autoit][/autoit] [autoit]
If @error Then
MsgBox(48, "Error", "No Files\Folders Found.")
Exit
EndIf_ArrayDisplay($files)
[/autoit] [autoit][/autoit] [autoit]for $i = 1 to UBound($files)-1
[/autoit]
FileDelete($path & $files[$i])
NextBezieht allerdings Unterordner nicht mit ein.
Aber dafür hat BugFix mal ne schöne Funktion geschrieben, mit der man auch Dateien in Unterordnern finden kann... -
Vielen dank!
Hmm klappt bei mir nicht. Ich glaube wegen Vista. Ohne "Als Admin ausführen" findet der die Dateien nichtmal
Was muss ich ändern? -
Hi,
[autoit]
keine Ahnung, benutze Vista nicht, ich hab nur gehört, dass#RequireAdmin
[/autoit]
am Scriptanfang mit Vista wunder bewirkt -
hmm hab ich auch schon versuch. geht nicht
-
Hallo Moz!
statt
FileDelete($path & $files[$i])
schreibst du mal (setz das einfach mit; auf Kommentar)
Msgbox(0,"ich will folgendes löschen", $path & $files[$i])
rein
und schaust Dir den angezeigten Pfad an, stimmt der oder fehlt da vielleicht der Backslash zwischen Verzeichnis und Datei??sind die Dateien offen (wenn einer z.B. mit dem Acrobat Reader eine info.pdf offen hat, dann kann ich die nicht so einfach löschen)?? (ob das MS-Kommandozeilentool openfiles geht unter Vista muß ich passen)
Startest du das Programm manuell oder mittels Zeitgesteuertem Befehl (dann bist Du nämlich Benutzer SYSTEM)???
Das gleiche Problem hast Du, wenn Du als Dienst arbeitest.
Grüße
German
-
Jupp!
Hab ein "\" beim Pfad vergessen^^
thx!