C# 把一个文件夹下所有文件复制到另一个文件夹下

C# 把一个文件夹下所有文件复制到另一个文件夹下

public static void CopyDirectory(string srcPath, string destPath)
{
  try
    {
     DirectoryInfo dir = new DirectoryInfo(srcPath);
     FileSystemInfo[] fileinfo = dir.GetFileSystemInfos();  //获取目录下(不包含子目录)的文件和子目录
     foreach (FileSystemInfo i in fileinfo)
        {
            if (i is DirectoryInfo)     //判断是否文件夹
            {
                  if (!Directory.Exists(destPath+"\\"+i.Name))
                  {
                       Directory.CreateDirectory(destPath + "\\" + i.Name);   //目标目录下不存在此文件夹即创建子文件夹
                  }
                  CopyDir(i.FullName, destPath + "\\" + i.Name);    //递归调用复制子文件夹
            }
            else
            {
                  File.Copy(i.FullName, destPath + "\\" + i.Name,true);      //不是文件夹即复制文件,true表示可以覆盖同名文件
            }
        }
    }
    catch (Exception e)
    {
         throw;
    }
}

调用CopyDirectory方法前可以先判断原路径与目标路径是否存在

if(Directory.Exists(srcPath)&&Directory.Exists(destPath))
{
    CopyDirectory(srcPath,destPath);
}

 

你可能感兴趣的:(C#)