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

Copiar Uma Pasta Para Outro Lugar


Davis Tome

Pergunta

Estou usando este codigo pra copiar arquivos de um lugar para o outro, mas como faço para copiar a pasta inteira em vez de arquivos?

var
SR: TSearchRec;
I: integer;
Origem, Destino: string;
begin
  I := FindFirst('c:\teste.txt', faAnyFile, SR);
  while I = 0 do begin
    if (SR.Attr and faDirectory) <> faDirectory then begin
      Origem := 'c:\' + SR.Name;
      Destino := 'd:\' + SR.Name;
      if not CopyFile(PChar(Origem), PChar(Destino), false) then
      ShowMessage('Erro ao copiar ' + Origem + ' para ' + Destino);
    end;
    I := FindNext(SR);
  end;
end;

obrigado!!!!

Link para o comentário
Compartilhar em outros sites

1 resposta a esta questão

Posts Recomendados

  • 0

Olá colega; pela função CopyFile você não consegue copiar pastas.

Utilize a função SHFileOperation:

uses ShellApi;
var SH:SHFILEOPSTRUCT;
begin
  FillChar(SH, SizeOf(SH), 0);
  SH.Wnd        := Handle;
  SH.wFunc      := FO_Copy;
  SH.pFrom      := 'Caminho da pasta origem' + #0;
  SH.pTo        := 'Caminho da pasta destino' + #0;
  SHFileOperation(SH);
end;

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,3k
    • Posts
      652,4k
×
×
  • Criar Novo...