duchq044 发表于 2013-2-1 12:58:49

c# .net 把一个文件夹下的文件复制到另一个文件夹下

///<summary>   
      ///c# .net 创建文件夹   
      ///</summary>   
      ///<param name="targetDir"></param>   
      public static void CreateDirectory(string targetDir)   
      {   
            DirectoryInfo dir = new DirectoryInfo(targetDir);   
            if (!dir.Exists)   
                dir.Create();   
      }   

///<summary>   
      ///复制指定目录的所有文件   
      ///</summary>   
      ///<param name="sourceDir">原始目录</param>   
      ///<param name="targetDir">目标目录</param>   
      ///<param name="overWrite">如果为true,覆盖同名文件,否则不覆盖</param>   
      ///<param name="copySubDir">如果为true,包含目录,否则不包含</param>   
      public static void CopyFiles(string sourceDir, string targetDir, bool overWrite, bool copySubDir)   
      {   
            //复制当前目录文件   
            foreach (string sourceFileName in Directory.GetFiles(sourceDir))   
            {   
                string targetFileName = Path.Combine(targetDir, sourceFileName.Substring(sourceFileName.LastIndexOf("\\") + 1));   
                if (File.Exists(targetFileName))   
                {   
                  if (overWrite == true)   
                  {   
                        File.SetAttributes(targetFileName, FileAttributes.Normal);   
                        File.Copy(sourceFileName, targetFileName, overWrite);   
                  }   
                }   
                else
                {   
                  File.Copy(sourceFileName, targetFileName, overWrite);   
                }   
            }   
            //复制子目录   
            if (copySubDir)   
            {   
                foreach (string sourceSubDir in Directory.GetDirectories(sourceDir))   
                {   
                  string targetSubDir = Path.Combine(targetDir, sourceSubDir.Substring(sourceSubDir.LastIndexOf("\\") + 1));   
                  if (!Directory.Exists(targetSubDir))   
                        Directory.CreateDirectory(targetSubDir);   
                  CopyFiles(sourceSubDir, targetSubDir, overWrite, true);   
                }   
            }   
      }   
    }
页: [1]
查看完整版本: c# .net 把一个文件夹下的文件复制到另一个文件夹下