Einzelnen Beitrag anzeigen

PeterPanino

Registriert seit: 4. Sep 2004
1.465 Beiträge
 
Delphi 10.4 Sydney
 
#1

Inhalt eines Ordners kopieren?

  Alt 23. Jul 2009, 01:30
So, ich habe jetzt wirklich lange gesucht und nichts gefunden.

Ich möchte den gesamten INHALT eines Ordners A (inkl. Dateien und Unterordnern) in einen anderen Ordner B kopieren, am besten mit ShFileOperation und womöglich mit mehreren Dateimasken aufeinmal.

Alles, was ich darüber gefunden habe war, wie man eine eine einzelne Datei oder einen einzelnen Ordner kopiert, aber nicht den INHALT eines Ordners.

Ich kann es nicht glauben, dass es dafür keinen einfachen Shell-Befehl geben soll! Muss ich wirklich jede einzelne Datei und jeden Unterordner im Quellordner abklappern und jede einzelne Datei und jeden Unterordner einzeln kopieren??

Mit dieser Funktion werden lediglich die DATEIEN im Wurzelverzeichnis des Quellordners kopiert, aber nicht die UNTERORDNER des Quellordners:

Delphi-Quellcode:
procedure TForm1.Button1Click(Sender: TObject);
begin
  CopyDir('F:\Quellordner\*', 'F:\Zielordner');
end;

function TForm1.CopyDir(const fromDir, toDir: string): Boolean;
var
  fos: TSHFileOpStruct;
begin
  ZeroMemory(@fos, SizeOf(fos));
  with fos do
  begin
    wFunc := FO_COPY;
    fFlags := FOF_FILESONLY or FOF_SIMPLEPROGRESS or FOF_MULTIDESTFILES;
    pFrom := PChar(fromDir + #0);
    pTo := PChar(toDir);
  end;
  Result := (0 = ShFileOperation(fos));
end;
  Mit Zitat antworten Zitat