Skripte Sichern

  • Hi,

    Da in den letzten 4-5 Jahren es häufiger passierte, dass alle meine Skripte gelöscht wurden dachte ich mir ich mache dieses Programm:

    Spoiler anzeigen
    [autoit]

    Global $usb = "G:\"
    While 1
    Sleep(60000)
    While 1
    If DriveStatus($usb) = "READY" Then
    FileDelete($usb & "\Skripte.zip")
    $files = _getfilesfolder_rekursiv(@DesktopDir & "\Skripte\Meine Skripte\", -1, 0)
    For $i = 0 To UBound($files)
    If StringInStr(FileGetAttrib($files[$i]), "S") Then _ArrayDelete($files, $i)
    Next
    TrayTip("Saver", "Dateien werden kopiert & kompriemiert...", 30, 1)
    _buildinzip($usb & "\Skripte.zip", $files)
    MsgBox(64, "Saver", "Erfolgreich kopiert")
    TrayTip("", "", 0)
    ExitLoop
    Else
    If MsgBox(16 + 5, "Error", "Laufwerk nicht erreichbar!") = 2 Then ExitLoop
    EndIf
    WEnd
    WEnd

    [/autoit]

    Es ist noch nicht fertig, mein Wunsch ist es dass es Im Ordner ,,Skripte", Alles im Unterordner ,,Meine Skripte" kopiert und kompriemiert. Aber das im Unterordner ,,Fremde Skripte" nur der Unterordner ,,UDFs" kopiert wird.

    Zum besseren Verstehen habe ich die ZIP Datei wie ich sie mir vorstelle angehängt.

    P.S:

    Vielleicht gibt es ja auch eine Möglichkeit einen USB-Stick/Datenträger nicht anhand des Pfades (der sich ja immer ändert) sondern anhand seines Namens zu erkennen...

    P.P.S:

    Es ist nur für mich, also nicht klar verwendete Variabeln Names o.ä. ist eigentlich ziemlich egal ;)

  • Das mit dem am Namen erkennen hab ich dir ja schon gesagt.
    Hier mal als UDF:

    [autoit]


    Func _DriveIsActive($sLabel)
    $aDrives = DriveGetDrive("ALL")
    For $i = 1 To $aDrives[0]
    If DriveGetLabel($aDrives[$i]) = $sLabel Then Return $aDrives[$i]
    Next
    Return 0
    EndFunc

    [/autoit]

    Und wo ist das Problem, eine oder mehrere Ordnerstrukturen in ein Archiv zu packen?

    lg chess

  • Das der Ordner ,,Fremde Skripte" keine Dateien ausser dem Ordner ,,UDFs" (mit Inhalt) enthalten darf. Es können keine leere Ordner gezippt werden.

    Um Missverständnisse zu vermeiden, mein Name rührt vom Sternenbild und nicht vom Shop her :D


    Rainbow Dash :rock:

    "Das, wobei unsere Berechnungen versagen, nennen wir Zufall." (Albert Einstein)