Pessoal, abaixo vou postar o fonte de um procedimento para cópia de vários arquivos, inclusive é possível utilizar esse procedimento para copiar arvores de arquivos, por exemplo, uma pasta e seus subdiretórios. Iremos utilizar uma estrutura do windows:
TShFileOpStruct que permite a configuração de parâmetros a fim de executar operações com arquivos.


  
  procedure Tfrmlista.CopiarDirImagens(DirOrigem, DirDest: String);
  var
    ShFileOpStruct : TShFileOpStruct; 
  begin
    FillChar(ShFileOpStruct,Sizeof(TShFileOpStruct),0);
    with ShFileOpStruct do begin
      Wnd := Application.Handle;
      wFunc := FO_COPY; {Parametro de cópia do arquivo ou pasta}
      pFrom := PChar(DirOrigem +#0); {diretório origem}
      pTo := PChar(DirDest + #0); {diretório  destino}
      fFlags := FOF_ALLOWUNDO or FOF_SIMPLEPROGRESS or FOF_NOCONFIRMATION;
    end;
    try
    ShFileOperation(ShFileOpStruct);
    except
      on E : Exception do
        ShowMessage(' Houve um erro na cópia das imagens: ' + E.Message);
    end;
  end;
  
  


Qualquer dúvida, ou sugestão de melhoria, por favor postem um comentário. =)
No meu próximo post irei mostrar como percorrer os arquivos e diretórios de uma pasta para uma inserção personalizada.