コード例 #1
0
ファイル: FileTree.cs プロジェクト: tydaeus/utility
        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));
        }
コード例 #2
0
ファイル: FileTree.cs プロジェクト: tydaeus/utility
        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));
        }