一个复制文件夹的问题!

                            
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盘,内容不变.如何实现?  
   
 

查看回复