UDF: _FileDeleteAll

  • Guten Abend Community,

    Ich habe eine UDF (ich weiß nicht wirklich ob es eine ist aber ich sage es jetzt mal) geschrieben und das ist auch meine wirkliche erste.

    Die UDF löscht alle Daten z.b. auf einem USB-Stick etc.
    Ich habe Sie auch selber getestet.

    Ansprechen kann man sie über:

    __FileDeleteAll("M:")

    Einfach nur den Laufwerksbuchstaben mit Doppelpunkt angeben wie hier zum Beispiel M:

    Hier ist die UDF:

    Spoiler anzeigen
    [autoit]

    #include <File.au3>
    #include <Array.au3>

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

    Func _FileDeleteAll($datentraeger)
    $filefolder = _FileListToArray($datentraeger,"*",2)
    For $i=1 To $filefolder[0]
    DirRemove($datentraeger&"\"&$filefolder[$i],1)
    Next
    $files = _FileListToArray($datentraeger,"*",1)
    For $j=1 To $files[0]
    FileDelete($datentraeger&"\"&$files[$j])
    Next
    EndFunc

    [/autoit]

    Ich habe sicherheitshalber die 2 Includes mit reingeschrieben, weil ich ja Arrays und _FileListToArray verwendet habe.

    Ich hoffe Sie gefällt euch.
    Kritik (aber nicht so harte :rofl: ) und Lob sind willkommen ;)

    Gruß
    Fabi

    3 Mal editiert, zuletzt von Fabi (25. November 2011 um 22:20)

  • keine ahnung :D
    ich würde jetzt mal auf blöd sagen wenn ich Run("format"...) machen würde dann wäre es ja nur eine zeile..
    und dann würde ich es nicht als UDF ansehen ;)
    Und diese "UDF" löscht auch alle Dateien die in _FileListToArray enthalten ist / sind.
    wie sollte ich es dann eurer meinung nach umbenennen?
    Gruß
    Fabi

  • Ok das wusste ich jetzt zum Beispiel nicht (außer die GUI in Windows) :D
    Aber solange du / ihr versteht was ich meine dann ist es doch gut^^

    Gruß
    Fabi

  • Ok das wusste ich jetzt zum Beispiel nicht (außer die GUI in Windows) :D
    Aber solange du / ihr versteht was ich meine dann ist es doch gut^^

    Spoiler anzeigen


    Gib doch mal in CMD "FORMAT /?" ein.
    Sogesehen hat i2c Recht, da gibt es eine ganze Menge Möglichkeiten.

    Edit:

    Ist gut :D
    Ich habe es schon unbenannt :D


    Deine Lösung ist ja auch etwas kreativer als cmd...

  • So vom Programmierstil her würde ich msgboxen in einer UDF vermeiden.
    Diese Abfragen sollten individuell direkt im Hauptskript gemacht werden.

    Bei komplizierten Programmen ist es gruselig wenn es aus diversen includes msgboxen hagelt.

  • ich verstehe dich total, ich werde sie rausnehmen...
    Ich dachte nur auf nummer sicher, weil wenn der befehl irgendwie ausversehen hinkommt dann fängt es zumindest noch die MsgBox ab.

    Gruß
    Fabi

  • Ich habe eine UDF (ich weiß nicht wirklich ob es eine ist aber ich sage es jetzt mal) geschrieben und das ist auch meine wirkliche erste.

    Warum soll das keine UDF sein? http://de.m.wikipedia.org/wiki/User_Defined_Function