hallo, ich würde gerne eine funktion bauen, mit der man entweder files oder ordner löschen kann.
um die gefahr zu verkleinern, sind wildcards erlaubt und zu nutzen, so dass der user diese selber angeben muss und sie nicht bereits im script enthalten sind
(bsp: FileExists("*" & $file & "*")
so weit so gut. files löschen klappt auch wunderbar, mit oder ohne wildcard, jedoch komm ich mit den ordnern (DirRemove) nicht klar.
wenn ich den namen komplett angebe, funktioniert es, mit wildcards jedoch nicht ... und was mich verwundert ist, dass nicht mal eine der fehlermeldungen erscheint.
es geht auch nicht, wenn ich anführungszeichen drumrum setze (DirRemove('"' & $dir & '"', 1) .... warum ?
Spoiler anzeigen
#include <File.au3>
[/autoit] [autoit][/autoit] [autoit]$file = ""
$dir = "Neuer O*"
If $file <> "" And $dir <> "" Then Exit
_Del($file, $dir)
Func _Del($file, $dir)
If $file <> "" Then
If FileExists($file) Then
$FileDelete = FileDelete($file)
If $FileDelete = 0 Then _FileCreate(@scriptdir & '\Could-not-Remove-File(s)-[' & $file & '].ERROR')
Else
_FileCreate(@scriptdir & '\No-[' & $file & '].File(s)-Found.ERROR')
EndIf
ElseIf $dir <> "" Then
If FileExists($dir) Then
$DirRemove = DirRemove($dir, 1)
If $DirRemove = 0 Then _FileCreate(@scriptdir & '\Could-not-Remove-Dir(s)-[' & $dir & '].ERROR')
Else
_FileCreate(@scriptdir & '\No-[' & $dir & ']-Dir(s)-Found.ERROR')
EndIf
Else
Exit
EndIf
EndFunc