Kopierverlauf in Progressbar darstellen lassen

  • Hey Leute,

    ich habe ein Problem. Ich möchte folgendes machen, ich habe ein Quellverzeichnis und ein Zielverzeichnis. Dabei soll in einer Progressbar der Fortschritt angezeigt werden. Wie man eine Progressbar benutzt weiß ich an sich schon, auch wie man Kopiert. Nur wie man das verbindet weiß ich nicht wirklich. Hab mir erst was überlegt mit DirGetSize() was zu machen, doch das klappt beim gedanken nicht, weil wenn ich das in eine Schleife gepackt die Ziel und Quellgröße vergleicht, doch wenn ich da das DirCopy() rein packe, kopiert er dieses ja öfter. Bzw. nur ein mal, da ja Quelle und Ziel nach dem Kopieren gleich groß sind. Nur dann würde ich es mit der Progressbar mir auch knicken können, sowie auch mit der Schleife.

    Kann mir jemand vll ein gedanken Anstoß geben? Ob die Progressbar im Hintergrund die Dateianzahl im Hintergrund zählt oder die Datengröße vergleicht ist an sich eigentlich egal. Nur soll ein Fortschritt zu sehen sein.

    Es sollen mehrere Dateien und Verzeichnisse kopiert werden.

    Und das ganze soll für die Arbeit sein, da ein Kollege am PC arbeitet, der von PC nicht wirklich Ahnung hat. Also dieses Tool soll so gesehen eine Datensicherung mit nur 1em klick durchführen und soll was zu sehen sein. der hat keine Gedult wenn er am PC nix sieht das was passiert.

    Hoffe die gegeben Informationen reichen? Wenn nicht bitte fragen.

    Michael

  • nimm

    [autoit]

    GUICtrlSetData($Progress1, 1/Anzahl der Dateien bzw. Ordner)

    [/autoit]


    z.B.

    [autoit]

    GUICTrlSetData($Progress1, 1/14)

    [/autoit]


    bei 14 Dateien.
    Am besten mimmst du eine Variable, die immer den aktuellen Wert beinhaltet:

    [autoit]


    FileCopy()
    $Var = $Var + 1/14
    GUICTrlSetData($Progress1, $Var)

    [/autoit]


    Wieder bei 14 Dateien/Ordnern!

    Ich hoffe, ich konnte helfen!

    LG K.K.

  • Ja es geht ja ums Kopieren. Also muss ja dann Datei Name angeben soweit ich weiß oder nicht? Und ich es gibt keine Fortlaufende Nummerierung bei den Dateien. Oder Liege ich da ganz falsch? Vorallem müsste ich dann ermitteln, wieviel Dateien existieren. Den die Anzahl vermehrt sich an sich auch.


    Michael

  • Ja es geht ja ums Kopieren. Also muss ja dann Datei Name angeben soweit ich weiß oder nicht? Und ich es gibt keine Fortlaufende Nummerierung bei den Dateien. Oder Liege ich da ganz falsch? Vorallem müsste ich dann ermitteln, wieviel Dateien existieren. Den die Anzahl vermehrt sich an sich auch.


    Michael


    Nimm doch einfach _FIleListToArray()

    Edit: Damit kannst du dann in einer For Next - Schleife die Dateien/Ordner nacheinander kopieren und eine Progressbar entsprechend setzen
    (Kopierte Dateien/Gesamtzahl Dateien)*100

    UNPLEASANT SPOILER

    You just lost the game!

    3 Mal editiert, zuletzt von shadow667 (7. Dezember 2011 um 18:22)