Ich greife mal folgende Zeilen aus deinem Code:
Delphi-Quellcode:
Memo1.Lines.Add('Kopiere Datei...');
CopyFile(Pchar('.\' + list[c]), Pchar('.\' + t.Artist + '\' + list[c]), true);
Ziemlich blöd, dass man nicht sieht, WAS eigentlich kopiert wird. Deshalb:
Delphi-Quellcode:
quelle := '.\' + list[c];
ziel := '.\' + t.Artist + '\' + list[c];
Memo1.Lines.Add(Format('Kopiere Datei <%s> -> <%s>...',[quelle, ziel]));
CopyFile(Pchar(quelle), Pchar(ziel), true);
Durch die beiden Zwischenvariablen
quelle und
ziel wird alles viel klarer und einfacher.
Auch für Dich als Programmierer werden Probleme sofort sichtbar; vielleicht steckt in
t.Artist ein Backslash oder ein Doppelpunkt...