Copiar arquivos e pastas
procedure TfrmPrincipal.copia;
var
Arquivo: TSearchRec;
begin
if FindFirst(´C:\Temp1\Tabelas\*.*´, 0, Arquivo) = 0 then
begin
repeat
CopyFileTo(´C:\Temp1\Tabelas\*.*´,´C:\Temp1\Programas\´+Arquivo.Name);
until FindNext(Arquivo) <> 0;
FindClose(Arquivo);
end;
end;
Este comando só copia arquivos, caso junto com os arquivos tenha um diretório ou vários, só copia o(s) arquivo(s), ignorando a(s) pasta(s). Como copiar tudo, pasta(s) e arquivo(s)?
var
Arquivo: TSearchRec;
begin
if FindFirst(´C:\Temp1\Tabelas\*.*´, 0, Arquivo) = 0 then
begin
repeat
CopyFileTo(´C:\Temp1\Tabelas\*.*´,´C:\Temp1\Programas\´+Arquivo.Name);
until FindNext(Arquivo) <> 0;
FindClose(Arquivo);
end;
end;
Este comando só copia arquivos, caso junto com os arquivos tenha um diretório ou vários, só copia o(s) arquivo(s), ignorando a(s) pasta(s). Como copiar tudo, pasta(s) e arquivo(s)?
Paulo
Curtidas 0
Respostas
Ipc$
02/09/2004
Uses ShellApi;
var sh:SHFILEOPSTRUCT; begin sh.Wnd := Handle; sh.wFunc := FO_COPY; sh.pFrom := PChar(´´C:\Temp1\Tabelas´+#0); sh.pTo := PChar(´´C:\Temp1\Programas´); sh.fFlags := FOF_AllowUndo; SHFileOperation(sh); end;
GOSTEI 0
Ipc$
02/09/2004
Oops
sh.pFrom := PChar(´C:\Temp1\Tabelas´+#0); sh.pTo := PChar(´C:\Temp1\Programas´);
GOSTEI 0
Paulo
02/09/2004
IPC$, pq não está copiando? Já copiou, mas quando tinha arquivos. Agora somente pasta, ele não esta copiando. Obs: Quando eu falo só arquivos, é que dentro do diretório ´C:\Trabalho\AtualizaTECcom\´ havia arquivos e pastas. Eu removi os arquivos e deixeixei só pastas com seus arquivos, e agora não copia nada.
var
sh:SHFILEOPSTRUCT;
begin
//Copia diretórios e arquivos juntos
sh.Wnd := Handle;
sh.wFunc := FO_COPY;
sh.pFrom := PChar(´C:\Trabalho\AtualizaTECcom\´+#0);
sh.pTo := PChar(´C:\MySql´);
sh.fFlags := FOF_AllowUndo;
SHFileOperation(sh);
var
sh:SHFILEOPSTRUCT;
begin
//Copia diretórios e arquivos juntos
sh.Wnd := Handle;
sh.wFunc := FO_COPY;
sh.pFrom := PChar(´C:\Trabalho\AtualizaTECcom\´+#0);
sh.pTo := PChar(´C:\MySql´);
sh.fFlags := FOF_AllowUndo;
SHFileOperation(sh);
GOSTEI 0
Ipc$
02/09/2004
sh.pFrom := PChar(´C:\Trabalho\AtualizaTECcom\´+#0);
Mude para:
sh.pFrom := PChar(´C:\Trabalho\AtualizaTECcom´+0);
ou
sh.pFrom := PChar(´C:\Trabalho\AtualizaTECcom\*.*´+0);
GOSTEI 0