C#拷贝整个文件夹以及子目录和其中文件


   private void CopyDirectory(string srcPath, string desPath)

         {
             string  folderName = srcdir.Substring(srcdir.LastIndexOf( "\\" )+1);
 
             string  desfolderdir = desPath + "\\" + folderName;
 
             if  (desdir.LastIndexOf( "\\" ) == (desPath.Length - 1))
             {
                 desfolderdir = desPath + folderName;
             }
             string [] filenames = Directory.GetFileSystemEntries(srcPath);
 
             foreach  ( string  file  in  filenames)
             {
                 if  (Directory.Exists(file))
                 {
 
                     string  currentdir = desfolderdir +  "\\"  + file.Substring(file.LastIndexOf( "\\" ) + 1);
                     if  (!Directory.Exists(currentdir))
                     {
                         Directory.CreateDirectory(currentdir);
                     }
 
                     CopyDirectory(file, desfolderdir);
                 }
 
                 else 
                 {
                     string  srcfileName = file.Substring(file.LastIndexOf( "\\" )+1);
 
                     srcfileName = desfolderdir +  "\\"  + srcfileName;
 
 
                     if  (!Directory.Exists(desfolderdir))
                     {
                         Directory.CreateDirectory(desfolderdir);
                     }
                     
                     
                     File.Copy(file, srcfileName);
                 }
             }
        }


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM