von DIR nach DIR mit DIR



  • Hallo an alle
    -------------

    Mein Problem:
    Ich möchte ein Verzeichnis mit Unterverzeichnissen von C:\test nach
    D:\test kopieren. Mit allen enthaltenen Dateien UND mit der
    Verzeichnisstruktur.
    Ich hab mich schon mit der FAQ gequält, aber irgendwie krieg ich das nur ohne
    Verzeichnisstruktur hin.
    Also ich kann: - Quellverzeichnis auslesen
    - Quellunterverzeichnisse auslesen
    - alle Dateien erfassen und kopieren

    Die Daten landen bei mir alle OHNE Verzeichnisstuktur im ordner D:\test

    FRAGE: Gibt es eine "irgendwas" was mir meine Verzeichnisstruktur gleich mit kopiert???



  • Gibt auch in der FAQ. Titel Ordner löschen.
    Mit der Funktion kann auch kopiert werden.



  • dankeschön - habs gefunden und "eingebaut"
    so:

    SHFILEOPSTRUCT lpShFileStruct;
    
    lpShFileStruct.pFrom = m_strCopyVon;
    lpShFileStruct.pTo = m_strCopyNach;
    lpShFileStruct.wFunc = FO_COPY;
    lpShFileStruct.fFlags = FOF_NOCONFIRMMKDIR | FOF_NOCONFIRMATION | FOF_SILENT; //FOF_SIMPLEPROGRESS
    //lpShFileStruct.lpszProgressTitle = "Hallo-txt";
    SHFileOperation(&lpShFileStruct);
    

    Frage:
    Wenn ich da das fFlag

    FOF_SIMPLEPROGRESS
    

    ohne das fFlag

    FOF_SILENT
    

    angebe, dann sollte ich doch während des Kopierens eine Statusanzeige erhalten !? ..oder?
    Bei mir erscheint da keine Fortschrittsanzeige. Was kann ich da machn,
    ausser verzweifeln?



  • Kann mir jemand verraten, wie ich den obigen code so umschreibe,
    dass ich während des Kopiervorganges ein Statusdialog bekomme ???

    Wenn ich fFlags statt FOF_SILENT das da --> FOF_SIMPLEPROGRESS
    übergebe, sollte der Dialog laut meiner Hilfe ja eingeblendet werden.
    Das tut mein Prg aber nicht. 😞

    Oder hab ich da jetzt n Denk- && || Codefehler ??



  • OH man. Ich häng immernoch hier fest.
    Weiss denn niemand einen Rat? (wg. der Statusanzeige?)



  • MSDN

    SHFILEOPSTRUCT::hwnd
    Window handle to the dialog box to display information about the status of the file operation.



  • und schon ne antwort gefunden, ich habe das gleiche problem



  • SHFILEOPSTRUCT shFileOp;
    shFileOp.wFunc = FO_COPY;
    shFileOp.pFrom = source;
    shFileOp.pTo = target;
    shFileOp.fFlags = NULL;
    shFileOp.fAnyOperationsAborted = FALSE;
    shFileOp.hwnd = NULL;

    SHFileOperation(&shFileOp);

    das funktioniert so bei mir, der fortschrittsbalken wird auch angezeigt.


Anmelden zum Antworten