首页 > 代码库 > 复制文件夹,删除文件夹

复制文件夹,删除文件夹

复制文件夹

procedure TForm1.Button1Click(Sender: TObject);

var
ss:TSHFileOpStruct;
sdir,ddir:string;
begin
sdir:=ExtractFilePath(ParamStr(0))+‘Sou‘; //源目录
ddir:=ExtractFilePath(ParamStr(0))+‘Dst‘;//目的目录

if not DirectoryExists(ddir) then CreateDir(ddir); //如果目标文件不存在则创建该文件夹

// ShowMessage(sdir);
// ShowMessage(ddir);
if not DirectoryExists(sdir) then Exit; //如果没有找到源目录则退出
FillChar(ss, SizeOf(ss), 0);//初始化SS
ss.Wnd := Handle;//显示状态信息窗口的句柄
SS.pFrom :=PChar(sdir+ #0);//源文件或目录
ss.pTo := PChar(ddir + #0);//目标文件或目录
ss.wFunc := FO_COPY;//要执行的操作
ss.fFlags := FOF_SILENT or FOF_NOCONFIRMATION;

//控制文件操作的标志,FOF_NOCONFIRMATION-----操作过程中不显示确认信息

SHFileOperation(ss) ; //必须有这句才会执行拷贝

end;

 

删除文件夹

procedure TForm1.Button5Click(Sender: TObject);
var
ss:TSHFileOpStruct;
sdir,ddir:string;
begin
//sdir:=ExtractFilePath(ParamStr(0))+‘Sou‘;
ddir:=ExtractFilePath(ParamStr(0))+‘Dst2‘;
// ShowMessage(sdir);
// ShowMessage(ddir);
if not DirectoryExists(Ddir) then Exit;
FillChar(ss, SizeOf(ss), 0);
ss.Wnd := Handle;
SS.pFrom :=PChar(Ddir + #0);
//ss.pTo := NuLL;
ss.wFunc := FO_DELETE;
ss.fFlags := FOF_SILENT or FOF_NOCONFIRMATION;
SHFileOperation(ss) ; //必须有这句才会执行删除

end;

复制文件夹,删除文件夹