Hallo, mal wieder ein kleines Problem!
Aus diesem Thread -->
http://www.delphipraxis.net/50745-xc...nachbauen.html habe ich von MaBuSe folgenden Code entnommen:
Delphi-Quellcode:
uses ShellAPI;
function MyCopy(Quelle, Ziel: string):Boolean;
var
fos: TSHFileOpStruct;
begin
ZeroMemory(@fos, SizeOf(fos));
with fos do
begin
wFunc := FO_COPY;
fFlags := FOF_FILESONLY // nur Dateien wenn Wildcard (*.*) verwendet werden
or FOF_NOCONFIRMATION; // Keine Abfrage, es wird JA angenommen (z.B. überschreiben)
pFrom := PChar(Quelle + #0);
pTo := PChar(Ziel)
end;
Result := (0 = ShFileOperation(fos));
end;
Im ersten Durchlauf ist alles bestens:
MyCopy('c:\source_path','c:\dest_path')
erzeugt folgendes:
Code:
c:\dest_path\file1.txt
c:\dest_path\file2.txt
c:\dest_path\file3.txt
Aber beim zweiten Durchlauf sieht die Sache so aus (inkl. der unangetasteten Dateien aus dem ersten Durchgang):
Code:
c:\dest_path\source_path\file1.txt
c:\dest_path\source_path\file2.txt
c:\dest_path\source_path\file3.txt
Die nächsten Runden schreiben wie im zweiten Durchlauf, dort werden also die Dateien überschrieben.
Ich will aber weiterhin kopieren, wie im ersten Durchgang (ohne Rückfrage - einfach blöd und brtual kopieren) ohne den Ordner aus dem Source-Pfad.
Wie kann ich verhindern, dass in den weiteren Durchläufen die Dateien eine Ebene tiefer kopiert werden?