复制文件夹
public static void CopyDirectory(string sourceDirName, string destDirName, ProgressBar pbFile) { if (!Directory.Exists(destDirName)) { Directory.CreateDirectory(destDirName); File.SetAttributes(destDirName, File.GetAttributes(sourceDirName)); } if (destDirName[destDirName.Length - 1] != Path.DirectorySeparatorChar) destDirName = destDirName + Path.DirectorySeparatorChar; string[] files = Directory.GetFiles(sourceDirName); foreach (string file in files) { File.Copy(file, destDirName + Path.GetFileName(file), true); File.SetAttributes(destDirName + Path.GetFileName(file), FileAttributes.Normal); } pbFile.Increment(files.Length + 1); string[] dirs = Directory.GetDirectories(sourceDirName); foreach (string dir in dirs) { CopyDirectory(dir, destDirName + Path.GetFileName(dir), pbFile); } }
获取文件数量
public static int GetFilesCount(System.IO.DirectoryInfo dirInfo) { int totalFile = 0; totalFile += dirInfo.GetFiles().Length; foreach (System.IO.DirectoryInfo subdir in dirInfo.GetDirectories()) { totalFile += GetFilesCount(subdir); } return totalFile; }转载....