OH, das wird nix, weil "copy" kein Programm, sondern ein Befehl des CMD.EXE ist.
Wenn Du Kommandos von CMD.EXE ausführen willst, dann musst Du CMD.EXE starten. Gottseidank kann man CMD auch mit ein paar Parametern starten. gib mal "CMD /?" in der Eingabeaufforderung ein.
Es sollte dann so gehen ('CMD.EXE /C copy c:\*.* D:\')
Delphi-Quelltext
1: 2: 3: 4: 5: 6:
| var Pro: String;
begin Pro:='CMD.EXE /C copy c:\*.* D:\'; WinExec(PChar(Pro), SW_HIDE); |
Allerdings solltest Du vielleicht doch mit FindFirst / FindNext / FindClose einen eigenen rekursiven Kopierer schreiben. Dem kannst du dann noch eine vernünftige GUI mit Fortschrittsbalken, Anzahl der dateien etc. verpassen.