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 kopierenDie 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 fFlagFOF_SIMPLEPROGRESSohne das fFlag
FOF_SILENTangebe, 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.