Naja, alles was nicht mit einem Backslash endet scheint eher ein Dateiname zu sein(Soweit sehen es zumindest z.B. die Winapi funktionen).
Und auch ExtractRelativePath würde das letzte Element als Dateiname nehmen, wenn "\" fehlt.
Und zumindest hätte ich bei der
Exception-Politik erwartet, dass es dann mit einer
Exception in die binsen geht. Zumindest den Resultwert von TFile.Copy hätte man verwerten können. Es kann schließlich auch nicht sein, dass eine funktion ohne Probleme durchrennt und dann nicht funktioniert hat.