public static string Unzip(string sourceFile, string destDir) { // default to removing .zip from file name if (destDir == null) { destDir = Path.GetFileNameWithoutExtension(sourceFile); } // ensure unzipped file name loses .zip if (Path.GetExtension(destDir).ToLower().Equals(".zip")) { destDir = Path.GetFileNameWithoutExtension(destDir); } // use sourceFile dir if destination does not specify dir if (PATH_SEPERATORS.Matches(destDir).Count == 0) { destDir = Path.Combine(Path.GetDirectoryName(sourceFile), destDir); } ZipFile.ExtractToDirectory(sourceFile, destDir); return(Path.GetFullPath(destDir)); }
public static string ZipDir(string sourceDir, string destFilePath = null) { // default to adding .zip to source dir name if (destFilePath == null) { destFilePath = sourceDir + ".zip"; } // ensure zipped file name ends in .zip if (!Path.GetExtension(destFilePath).ToLower().Equals(".zip")) { destFilePath += ".zip"; } // use root dir if destination does not specify dir if (PATH_SEPERATORS.Matches(destFilePath).Count == 0) { destFilePath = Path.Combine(Path.GetDirectoryName(sourceDir), destFilePath); } ZipFile.CreateFromDirectory(sourceDir, destFilePath); return(Path.GetFullPath(destFilePath)); }