public void CopyToDirectory(string sourceArchiveDirectory, string targetDirectory) { foreach (ZipArchiveFile filesInDirectory in this.GetFilesInDirectory(sourceArchiveDirectory, SearchOption.AllDirectories)) { string relativePath = ZipArchive.GetRelativePath(filesInDirectory.Name, sourceArchiveDirectory); filesInDirectory.CopyToFile(Path.Combine(targetDirectory, relativePath)); } }
public void CopyFromDirectory(string sourceDirectory, string targetArchiveDirectory) { string[] files = Directory.GetFiles(sourceDirectory, "*", SearchOption.AllDirectories); for (int i = 0; i < (int)files.Length; i++) { string str = files[i]; string relativePath = ZipArchive.GetRelativePath(str, sourceDirectory); this.CopyFromFile(str, Path.Combine(targetArchiveDirectory, relativePath)); } }