Copiar arquivos usando o Shell do Windows no Delphi

Inclua na seção uses: ShellApi

{ - Coloque um botão no form e altere o evento OnClick
    deste botão conforme abaixo: }
   


procedure TForm1.Button1Click(Sender: TObject);
var
  Dados: TSHFileOpStruct;
begin
  FillChar(Dados,SizeOf(Dados), 0);
  with Dados do
  begin
    wFunc := FO_COPY;
    pFrom := PChar('c:\teste\*.txt');
    pTo   := PChar('d:\');
    fFlags:= FOF_ALLOWUNDO;
  end;
  SHFileOperation(Dados);
end;

Esta forma de copiar arquivos oferecem várias vantagens.

  • O Shell avisa para pôr um próximo disco quando o atual estiver cheio.
  • Mostra a barra de progresso.
  • Pode copiar arquivos usando máscara de uma forma extremamente simples.