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

Copiar uma pasta


danielrgoes

Pergunta

Bom Dia pessoal

eu tenho um codigo asssim

sOrigem := origem;

sDestino := destino;

CopyFile(Pchar(sOrigem), PChar(sDestino), False);

para copiar arquivos de um lugar para outro ele funciona muito bem

mais agora eu gostaria de copiar uma pasta inteira com tudo que tem dentro

alguém tem alguma dica

e se pudesse excluir ela e td que estiver dentro

muito obrigado

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

1 resposta a esta questão

Posts Recomendados

  • 0
mais agora eu gostaria de copiar uma pasta inteira com tudo que tem dentro

e se pudesse excluir ela e td que estiver dentro

Exemplos:

// Utilize asteristico para a seleção dos arquivos. Ex.: c:\*.*  ou *.txt
// Declare ShellAPI na uses.
Procedure COPY_FILES(Source, Dest : string);
var
  FOS              : TSHFileOpStruct;
  CopySourceString : String;
  CopyDestString   : String;
begin
  ZeroMemory(@FOS, sizeof(TSHFileOpStruct));
  CopySourceString := Source + #0#0;
  CopyDestString   := Dest;
  with FOS do begin
    Wnd                   := Application.Handle;
    wFunc                 := FO_COPY;
    pFrom                 := Pchar(CopySourceString);
    pTo                   := Pchar(CopyDestString);
    fFlags                := FOF_SIMPLEPROGRESS;
    fAnyOperationsAborted := True;
    lpszProgressTitle     := Pchar(Application.Title);
  end;
  SHFileOperation(FOS);
end;
outro exemplo
// Copiando arquivos de um diretorio para outro diretorio

procedure CopyDir(const cFrom, cTo : string);
var
 OpStruc : TSHFileOpStruct;
 frombuf, tobuf : array[0..128] of Char;
begin
 FillChar(frombuf, Sizeof(frombuf), 0);
 FillChar(tobuf, Sizeof(tobuf), 0);
 StrPCopy(frombuf, cFrom);
 StrPCopy(tobuf, cTo);
 with OpStruc do
  begin
   Wnd := Application.Handle;
   wFunc := FO_COPY;
   pFrom := @frombuf;
   pTo := @tobuf;
   fFlags := FOF_NOCONFIRMATION or FOF_RENAMEONCOLLISION;
   fAnyOperationsAborted := False;
   hNameMappings := nil;
   lpszProgressTitle := nil;
  end; // with
 ShFileOperation(OpStruc);
end; // CopyDir
Deletando arquivos usando coringas ( * )
procedure TForm1.Button1Click(Sender: TObject);
var
  SR: TSearchRec;
  I: integer;
begin
  I := FindFirst('c:\Delphi\*.*', faAnyFile, SR);
  while I = 0 do begin if (SR.Attr and faDirectory) <> faDirectory then
  if not DeleteFile('c:\Delphi\' + SR.Name) then 
     ShowMessage('Não é possivel excluir c:\Delphi\' + SR.Name);
  I := FindNext(SR);
 end;end;

// Os arquivos exclui­dos com esta rotina não vão para a lixeira!

abraço

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