NO28

首页 联系 订阅 管理
/// <summary>
  
/// 将SourcePath下的所有目录和文件复制到DestPath下
  
/// </summary>
  
/// <param name="SourcePath">源路径</param>
  
/// <param name="DestPath">目标路径</param>
  
/// <param name="flag">true覆盖; false不覆盖</param>  

  private static void Copy_Directory(string SourcePath,string DestPath,bool flag)
  
{
      
//取得文件路径数组
   string[] arrFiles=Directory.GetFiles(SourcePath);
   
if(arrFiles.Length>0)
    
//复制全部文件    
    foreach(string FileName in arrFiles)
    
{
     
//取得文件名+后缀
     string strFileName=FileName.Substring(FileName.LastIndexOf("\\"));
     
//如果不覆盖文件且文件存在,则跳出,进入下一次循环。
     
//if(!flag&&File.Exists(DestPath+strFileName)) continue;
          File.Copy(SourcePath+strFileName,DestPath+strFileName,flag);
      }
 
   
//取得目录路径数组
   string[] arrDirectorys=Directory.GetDirectories(SourcePath);
   
if(arrDirectorys.Length>0)
    
//复制全部目录    
    foreach(string DirectoryName in arrDirectorys)
    
{
     
string strDirectoryName=DirectoryName.Substring(DirectoryName.LastIndexOf("\\"));
     
string strDestPath=DestPath+strDirectoryName;
     
string strSourcePath=SourcePath+strDirectoryName;
     
if(!Directory.Exists(strDestPath))
      Directory.CreateDirectory(strDestPath);
     Copy_Directory(strSourcePath,strDestPath,flag,
ref ErrorMessage);
    }
   
  }
 
posted on 2006-02-15 16:23  NO28  阅读(521)  评论(0编辑  收藏  举报