[DebuggerDisplay("{" + nameof(GetDebuggerDisplay) + "(),指定文件夹的所有内容copy到目标文件夹}")]
public class FileCopyDir
{
/*
* 使用:
* string test1 = @"E:\test1";
* string test2 = @"E:\test2";
* FileCopyDir.CopyDir(test1, test2);
*/
public FileCopyDir()
{
//构造
}
/// <summary>
/// 指定文件夹下面的所有内容copy到目标文件夹下面
/// </summary>
/// <param name="srcPath">原始路径</param>
/// <param name="aimPath">目标文件夹</param>
public static void CopyDir(string srcPath, string aimPath)
{
try
{
// 检查目标目录是否以目录分割字符结束如果不是则添加之
if (aimPath[aimPath.Length - 1] != Path.DirectorySeparatorChar)
{
aimPath += Path.DirectorySeparatorChar;
}
// 判断目标目录是否存在如果不存在则新建之
if (!Directory.Exists(aimPath))
{
Directory.CreateDirectory(aimPath);
}
// 得到源目录的文件列表,该里面是包含文件以及目录路径的一个数组
//如果你指向copy目标文件下面的文件而不包含目录请使用下面的方法
//string[] fileList = Directory.GetFiles(srcPath);
string[] fileList = Directory.GetFileSystemEntries(srcPath);
//遍历所有的文件和目录
for (int i = 0; i < fileList.Length; i++)
{
string file = fileList[i];
//否则直接Copy文件
if (!Directory.Exists(file))
{
File.Copy(file, aimPath + Path.GetFileName(file), true);
}
//先当作目录处理如果存在这个目录就递归Copy该目录下面的文件
else
{
CopyDir(file, aimPath + Path.GetFileName(file));
}
}
}
catch (Exception ee)
{
throw new Exception(ee.ToString());
}
}
private string GetDebuggerDisplay()
{
return ToString();
}
}
C#指定文件夹的所有内容copy到目标文件夹
最新推荐文章于 2022-08-07 17:19:00 发布