procedure TForm1._XCopy(ASourceDir:String; ADestDir:String); var FileRec:TSearchrec; Sour:String; Dest:String; begin Sour:=ASourceDir; Dest:=ADestDir; if Sour[Length(Sour)]<>'\' then Sour := Sour + '\'; if Dest[Length(Dest)]<>'\' then Dest := Dest + '\'; if not DirectoryExists(ASourceDir) then begin ShowMessage('来源目录不存在!!'); exit; end; if not DirectoryExists(ADestDir) then begin ForceDirectories(ADestDir); end; if FindFirst(Sour+'*.*',faAnyfile,FileRec) = 0 then repeat if ((FileRec.Attr and faDirectory) <> 0) then begin if (FileRec.Name<>'.') and (FileRec.Name<>'..') then begin _XCopy(Sour+FileRec.Name,Dest+FileRec.Name); end; end else begin CopyFile(PChar(Sour+FileRec.Name),PChar(Dest+FileRec.Name),false); //从这里添加显示当前操作的文件 label2.caption:='正在复制文件:'+sour+filerec.name ; end; until FindNext(FileRec)<>0; FindClose(FileRec);
var
FileRec:TSearchrec;
Sour:String;
Dest:String;
begin
Sour:=ASourceDir;
Dest:=ADestDir; if Sour[Length(Sour)]<>'\' then Sour := Sour + '\';
if Dest[Length(Dest)]<>'\' then Dest := Dest + '\'; if not DirectoryExists(ASourceDir) then
begin
ShowMessage('来源目录不存在!!');
exit;
end; if not DirectoryExists(ADestDir) then
begin
ForceDirectories(ADestDir);
end; if FindFirst(Sour+'*.*',faAnyfile,FileRec) = 0 then
repeat
if ((FileRec.Attr and faDirectory) <> 0) then
begin
if (FileRec.Name<>'.') and (FileRec.Name<>'..') then
begin
_XCopy(Sour+FileRec.Name,Dest+FileRec.Name);
end;
end
else
begin
CopyFile(PChar(Sour+FileRec.Name),PChar(Dest+FileRec.Name),false);
//从这里添加显示当前操作的文件
label2.caption:='正在复制文件:'+sour+filerec.name ; end;
until FindNext(FileRec)<>0; FindClose(FileRec);
end;