function CopyDir(FromDir:String;ToDir:String):Boolean;
Var
FO:TSHFileOpStruct;
begin
result:=false;
if ((FromDir='directorylistbox1.Directory') or (ToDir='ShellTreeView1.Path')) then
exit;
With FO do
Begin
Wnd:=0;
wFunc:=FO_Copy;
pFrom:=Pchar(FromDir+#0#0);
pTo:=PChar(ToDir+#0#0);
fFlags:=FOF_NOCONFIRMATION;
hNameMappings:=nil;
lpszProgressTitle:=PChar('正在复制文件夹'+FromDir+'到'+ToDir);
fAnyOperationsAborted:=false;
End;
if SHFileOperation(FO)=0 then
result:=true;
end;此方法可将FromDir的文件复制到ToDir,但如果存在重名,也就是在目地的(todir)存在与源文件(fromdir)重名时,如何修改源文件文件夹后再复制呢?也就是说如果想把光盘的file_a文件夹(以及内部文件)复制到D盘,但D盘已存在file_a,就把光盘的file_a修改名为file_b再复制到D盘,内容不变.如何实现?
Var
FO:TSHFileOpStruct;
begin
result:=false;
if ((FromDir='directorylistbox1.Directory') or (ToDir='ShellTreeView1.Path')) then
exit;
With FO do
Begin
Wnd:=0;
wFunc:=FO_Copy;
pFrom:=Pchar(FromDir+#0#0);
pTo:=PChar(ToDir+#0#0);
fFlags:=FOF_NOCONFIRMATION;
hNameMappings:=nil;
lpszProgressTitle:=PChar('正在复制文件夹'+FromDir+'到'+ToDir);
fAnyOperationsAborted:=false;
End;
if SHFileOperation(FO)=0 then
result:=true;
end;此方法可将FromDir的文件复制到ToDir,但如果存在重名,也就是在目地的(todir)存在与源文件(fromdir)重名时,如何修改源文件文件夹后再复制呢?也就是说如果想把光盘的file_a文件夹(以及内部文件)复制到D盘,但D盘已存在file_a,就把光盘的file_a修改名为file_b再复制到D盘,内容不变.如何实现?
解决方案 »
- FastReport 4.5 null 显示为0
- 十分着急。。。findnext怎么就遍历一个?
- 在线等+急+解决马上给分+数据库自动连接问题(手工配置或以连,程序化后失败)报连接字符串属性无效!!晕
- dbexpress连接远端mysql数据库出错的问题.
- 请问下面这个SQL语句在Delphi里面怎么写?
- 我的delphi6。0怎么安装不了?
- 请问如何在报表的上面(不是表格里面)打印类似复选框的东东啊?
- 小妹刚学会一点点,请大家帮帮我,在线等!
- sos!!给你最高分!大虾们,帮帮小妹----毕业设计,紧急!!!
- 请问DELPHI5中有像VB中的立即执行窗口吗?
- 如果TFrom(或TImage)上用鼠标选一个区域,拉的时候出现虚框??
- 高分请教一个问题,如果满意,今天结贴!
upFO_RENAME Renames the files specified by pFrom. 也许有帮助
renamefile(‘原来的文件名’,‘新的文件名’)
ToDir:=ToDir+"(1)";类似这样就可以了,做好就是作个循环判断就可以想系统新建文件夹一个,在建就是“新建文件夹(1)”再来就是(2)了,自己控制一下就可以