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);
                }
            }
       }
posted @ 2019-06-10 13:33  搬砖的L先生  阅读(3951)  评论(0编辑  收藏  举报