/// <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);
}
}
将SourcePath目录下的所有目录和文件复制到DestPath目录下
最新推荐文章于 2023-10-23 14:57:02 发布
本文介绍了一种用于批量复制目录及其中所有文件的方法。该方法通过递归遍历源目录,将所有文件及子目录复制到指定的目标路径。文章详细展示了如何使用C#实现这一功能,包括如何处理文件覆盖等细节。
9674

被折叠的 条评论
为什么被折叠?



