Ir ao topo

Tecnobyte

Logomarca da Tecnobyte
Contato por WhatsApp

WhatsApp

(69) 3421-6756

Contato por Telefone

(69) 3421-6756

(69) 3421-6757

Enviar mensagem

Enviar

mensagem

Contato por Facebook

Facebook

Atendimento de segunda a sexta, das 08h00 às 19h00 (horário de Brasília).

Delphi - Arquivos, Diretórios e Discos

Como copiar múltiplos arquivos usando a API do Windows?

Banner

O exemplo a seguir copia todos os arquivos do diretório de origem para um diretório de destino.

  • Inclua na seção uses: Windows, SysUtils, Dialogs
  • Coloque um botão no formulário (Button1).
  • Programe o evento OnClick deste botão como segue.
procedure TForm1.Button1Click(Sender: TObject);
var
  SR: TSearchRec;
  I: Integer;
  Origem, Destino: string;
begin
  I := FindFirst('c:\Origem\*.*', faAnyFile, SR);
  while I = 0 do
  begin
    if (SR.Attr and faDirectory) <> faDirectory then
    begin
      Origem := 'c:\Origem\' + SR.Name;
      Destino := 'c:\Destino\' + SR.Name;
      if not CopyFile(PChar(Origem), PChar(Destino), True) then
        ShowMessage('Erro ao copiar ' + Origem + ' para ' + Destino);
    end;
    I := FindNext(SR);
  end;
end;

Observações

No exemplo acima, se o arquivo já existir no destino, a função falha (não copia). Para que a função possa sobreescrever o arquivo destino (caso exista), altere o último parâmetro de CopyFile para false.

Se um arquivo for sobreescrito, estará perdido para sempre!

O conteúdo desta página pode ajudar alguém? Compartilhe!