C# 递归复制文件夹及文件夹目录下的文件

    xiaoxiao2021-03-31  27

    不多bb,实现代码如下

    //Folder是需要复制的总目录,lastpath是目标目录 private void CopyFile(DirectoryInfo Folders,string lastpath) { //首先复制目录下的文件 foreach (FileInfo fileInfo in Folders.GetFiles()) { if (fileInfo.Exists) { //如果列表有记录的文件,就跳过 if (filePaths.Contains(fileInfo.FullName)) continue; string filename = fileInfo.FullName.Substring(fileInfo.FullName.LastIndexOf('\\')); fileInfo.CopyTo(lastpath + filename, true); } } //其次复制目录下的文件夹,并且进行遍历 foreach (DirectoryInfo Folder in Folders.GetDirectories()) { //如果有记录在列表中,则跳过该目录 if (folderPaths.Contains(Folder.FullName)) continue; string Foldername = Folder.FullName.Substring(Folder.FullName.LastIndexOf('\\')); //复制后文件夹目录 string copypath = lastpath + Foldername; //创建文件夹 if(!Directory.Exists(copypath)) Directory.CreateDirectory(copypath); //将目录加深,遍历子目录中的文件 lastpath = copypath; //子目录递归调用,遍历子目录 CopyFile(Folder,lastpath); //上一个子目录中归来,还原目录深度,循环至下一子目录 lastpath = lastpath.Substring(0, lastpath.LastIndexOf('\\')); } }

    代码如上

    转载请注明原文地址: https://ju.6miu.com/read-665425.html

    最新回复(0)