将制定目录下的内容复制到另一个路径下
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了将制定目录下的内容复制到另一个路径下相关的知识,希望对你有一定的参考价值。
//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(‘\\‘)); } }
使用的是递归的方式。
以上是关于将制定目录下的内容复制到另一个路径下的主要内容,如果未能解决你的问题,请参考以下文章
php如何复制文件和子文件夹中的文件到指定目录,保持路径顺序不变