public static bool CopyDir(string fromDir, string toDir) { if (fromDir == null || toDir == null) { throw new NullReferenceException("参数为空"); } if (fromDir == toDir) { throw new Exception("两个目录都是" + fromDir); } if (!Directory.Exists(fromDir)) { throw new IOException("目录fromDir=" + fromDir + "不存在"); } DirectoryInfo directoryInfo = new DirectoryInfo(fromDir); return(QFileUtils.CopyDir(directoryInfo, toDir, directoryInfo.FullName)); }
private static bool CopyDir(DirectoryInfo fromDir, string toDir, string rootDir) { string text = string.Empty; FileInfo[] files = fromDir.GetFiles(); for (int i = 0; i < files.Length; i++) { FileInfo fileInfo = files[i]; text = toDir + fileInfo.FullName.Substring(rootDir.Length); string dirName = text.Substring(0, text.LastIndexOf("\\")); QFileUtils.CreateDir(dirName); File.Copy(fileInfo.FullName, text, true); } DirectoryInfo[] directories = fromDir.GetDirectories(); for (int j = 0; j < directories.Length; j++) { DirectoryInfo fromDir2 = directories[j]; QFileUtils.CopyDir(fromDir2, toDir, rootDir); } return(true); }
public static bool CopyDir(DirectoryInfo fromDir, string toDir) { return(QFileUtils.CopyDir(fromDir, toDir, fromDir.FullName)); }