Ir para conteúdo
Fórum Script Brasil
  • 0

[Resolvido]Copiar Arquivos e pastas


Eder

Pergunta

Ola...

Eu uso este codigo aqui para copiar arquivos de uma pasta para outra pasta....porem ele só copia os arquivos...Não copia as subpastas ...

procedure TForm1.Button2Click(Sender: TObject);
var
  SR: TSearchRec;
  I: integer;
  Origem, Destino: string;
Begin
  I := FindFirst(EditOrigem.text + '\*.*', faAnyFile, SR);
  while I = 0 do begin
  if (SR.Attr and faDirectory) <> faDirectory then begin
  Origem := EditOrigem.text +'\'+ SR.Name;
  Destino := EditDestino.text +'\'+ SR.Name;
  if not CopyFile(PChar(Origem), PChar(Destino), FALSE) then
  ShowMessage('Erro ao copiar ' + Origem + ' para ' + Destino);
  end;
  I := FindNext(SR);
  End;

Teria como copiar tudo que esta na pasta, arquivos, pastas em fim tudo?

Grato

Editado por Eder
Link para o comentário
Compartilhar em outros sites

1 resposta a esta questão

Posts Recomendados

  • 0

[Resolvido]

fiz assim:

uses
  filectrl,
{FUNÇÃO IncludeTrailingBackslash}
function IncludeTrailingBackslash(const S: string): string;
begin
 Result := S;
 if S[Length(S)] <> '\' then
   Result := Result + '\';
end;

{COPIAR ARQUIVOS}
procedure CopiarArquivos(Mascara, De, Para: string);
var
 Search: TSearchRec;
 Done: Boolean;
begin
De := IncludeTrailingBackslash(De);
Para := IncludeTrailingBackslash(Para);
 Done := FindFirst(De + Mascara, faAnyFile, Search) <> 0;
 while not Done do begin
     if (Search.Attr and faDirectory) = faDirectory then begin
     if (Search.Name <> '.') and (Search.Name <> '..') then begin
       ForceDirectories(Para + Search.Name);
       CopiarArquivos(Mascara, De + Search.Name, Para + Search.Name);
     end;
   end
   else begin
   If not CopyFile(PChar(De + Search.Name),
       PChar(Para + Search.Name), FALSE) then begin
       ShowMessage('Erro ao copiar: ' + De + ' para: ' + Para);  //trata erro na cópia
     end;
   end;
  Done := FindNext(Search) <> 0;
 end;
end;
No botão executar:
procedure TForm1.Button1Click(Sender: TObject);
begin
  CopiarArquivos('*.*', EditOrigem.text, EditDestino.text);
end;

Copia tudo......

falou

Link para o comentário
Compartilhar em outros sites

Participe da discussão

Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.

Visitante
Responder esta pergunta...

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emoticons são permitidos.

×   Seu link foi incorporado automaticamente.   Exibir como um link em vez disso

×   Seu conteúdo anterior foi restaurado.   Limpar Editor

×   Você não pode colar imagens diretamente. Carregar ou inserir imagens do URL.



  • Estatísticas dos Fóruns

    • Tópicos
      152,2k
    • Posts
      651,9k
×
×
  • Criar Novo...