在app目录中提取多个.zip文件c#

时间:2016-12-13 21:16:04

标签: zip multiple-files

我有一个游戏启动器的自动更新程序,我想知道如何使用启动器自动解压缩同一文件夹上的所有zip文件。 (下载多个zip文件)。在编码时我是新手。

我需要更改以下代码,以便在应用程序所在的当前文件夹中提取所有.zip文件。

using (var zip = Ionic.Zip.ZipFile.Read("desktop.zip"))
{
    zip.ExtractAll(Directory.GetCurrentDirectory(), ExtractExistingFileAction.OverwriteSilently);
}

2 个答案:

答案 0 :(得分:0)

尝试使用Reflection:

 using (var zip = Ionic.Zip.ZipFile.Read("desktop.zip"))
        {
            string exeFullPath = System.Reflection.Assembly.GetExecutingAssembly().Location;
            string exePath = System.IO.Path.GetDirectoryName(exeFullPath);

            zip.ExtractAll(exePath
                          , ExtractExistingFileAction.OverwriteSilently);
        }

答案 1 :(得分:0)

@vendettamit给我正确的答案。如果有人需要我发布他的代码。

 foreach (var file in Directory.EnumerateFiles("<directory path>", "*.zip")) 
{
    using (ZipFile zip = ZipFile.Read(file))
    {
        foreach (ZipEntry zipFiles in zip)
        {
            zipFiles.Extract(currentpath, true); 
        }
    }
}