DOS'tan kalma move.exe komutunun benzeri yalnız altdizinleri move yapmıyor... bir sonraki sefere umit ediyorum...

function move(source,target,param:string):string;
var yedekle:tsearchrec;
hata:integer;
begin
hata:=0;
forcedirectories(target);
findfirst(source+'\'+param,faanyfile,yedekle);
if yedekle.name'' then
begin
repeat
if renamefile(source+'\'+yedekle.name, target+'\'+yedekle.name)=false then begin hata:=hata+1; copyfile(pchar(source+'\'+yedekle.name), pchar(target+'\'+yedekle.name), false); end;
application.ProcessMessages;
until findnext(yedekle)0;
//. ve .. dizinleri aktarılamaz bu yuzden 2'den buyuk istendi
if hata>2 then result:=source+#13+' hala bazı dosyalar iceriyor' else result:='Dosya taşıma başarılı';
end
else result:=source+#13+' yok veya dosya icermiyor';
findclose(yedekle);
if (param='*.*') then removedirectory(pchar(source));
end;

kullanımı:
move('c:\belgelerim','c:\deneme','*.*');
__________________