function SysCopyFile(From, Destination: string): Boolean;
var
Sh: TSHFileOpStruct;
begin
with Sh do
begin
Wnd := Application.Handle;
wFunc := FO_COPY;
pFrom := PChar(From);
pTo := PChar(Destination);
lpszProgressTitle := '备份精灵——文件复制';
fFlags := 0;
fFlags := fFlags + FOF_ALLOWUNDO;
fFlags := fFlags + FOF_RENAMEONCOLLISION;
fFlags := fFlags + FOF_NOCONFIRMATION;
// fFlags := fFlags + FOF_SILENT;
end;
Result := SHFileOperation(Sh) = 0;
end;
CopyFile函数是直接可以跨网络复制文件的(我只试过在同一个局与网里)。
你可以先查找目录下所有文件,然后分别根据需要复制,要想调用一个函数直接复制所有目录也行,用系统提供的SHFileOperation 函数可以控制动化显示与否。