![]() |
Verzeichnis kopieren...
Hallo!
Wie kann ich mit Delphi ein komplettes Verzeichnis mit allen Dateien und Unterordnern in ein anderes Verzeichnis kopieren? Ich habe es wie folgt versucht, dies hat aber nicht funktioniert:
Delphi-Quellcode:
Der Aufruf von CopyDirectory('C:\test\', 'D:\Ziel\') liefert zwar das Ergebnis 2 = Vorgang erfolgreich ausgeführt, aber es werden keine Dateien order Order kopiert... Was mache ich falsch?
function CopyDirectory(SourceDirectory: string;
DestinationDirectory: string): boolean; var SHFileOpStruct: TSHFileOpStruct; SourceBuffer, DestinationBuffer: array[0..255] of char; res: integer; begin try if not DirectoryExists(SourceDirectory) then begin Result := False; exit; end; Fillchar(SHFileOpStruct, sizeof(SHFileOpStruct), 0); FillChar(SourceBuffer, sizeof(SourceBuffer), 0); FillChar(DestinationBuffer, sizeof(DestinationBuffer), 0); StrPCopy(SourceBuffer, SourceDirectory); StrPCopy(DestinationBuffer, DestinationDirectory); with SHFileOpStruct do begin Wnd := 0; wFunc := FO_COPY; pFrom := @SourceBuffer; pTo := @DestinationBuffer; fFlags := FOF_ALLOWUNDO; hNameMappings := nil; lpszProgressTitle := nil; fFlags := fFlags or FOF_NOCONFIRMATION; fFlags := fFlags or FOF_SILENT; fFlags := fFlags or FOF_SIMPLEPROGRESS; fFlags := fFlags or FOF_NOCONFIRMMKDIR; end; res := SHFileOperation(SHFileOpStruct); Result := (res = 0); if not Result then ShowMessage(SysErrorMessage(GetLastError)); except Result := False; end; end; Gibt es ggf. einen einfacheren Weg einen Ordner von A nach B zu kopieren? Das ganze soll ohne Fortschrittsbalken, etc. ablaufen. Besten Dank Ares |
Re: Verzeichnis kopieren...
Bist Du sicher, dass 2 Erfolg bedeutet? AFAIK ist das ERROR_PATH_NOT_FOUND, bin mir da aber nicht ganz sicher (kann auch gerade nicht nachsehen).
|
Re: Verzeichnis kopieren...
Dazu gibts doch
![]() Bist du dir sicher dass es den Ordner C:\test bei dir auch gibt? |
Re: Verzeichnis kopieren...
hoi,
lass mal bei den pfadangaben den letzten backslash weg ... dann funkst bei mir cya |
Re: Verzeichnis kopieren...
Zitat:
|
Re: Verzeichnis kopieren...
Schau Dir die Flags von SHFileOpStruct noch einmal genau an. Wenn ich das richtig verstanden habe, fehlt da noch ein FOF_MULTIDESTFILES.
|
Re: Verzeichnis kopieren...
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 10:59 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz