C# 如何使用Dotnetzip库从zip中删除包含文件的特定文件夹?

C# 如何使用Dotnetzip库从zip中删除包含文件的特定文件夹?,c#,dotnetzip,C#,Dotnetzip,我需要删除一个名为“META-INF”的文件夹。它包含一些文件。如何删除该文件夹以及其中的所有文件,而不键入它们的所有名称?我无法提取所有文件,删除包含所有文件的目录,然后再次打包压缩包,因为压缩包中有许多文件(~1800个)。您可以使用以下方法: var matches = fileSelector.SelectEntries(yourZipFile,"META-INF"); for(int i = 0;i < matches.Length; ++i) { yourZipFile

我需要删除一个名为“META-INF”的文件夹。它包含一些文件。如何删除该文件夹以及其中的所有文件,而不键入它们的所有名称?我无法提取所有文件,删除包含所有文件的目录,然后再次打包压缩包,因为压缩包中有许多文件(~1800个)。

您可以使用以下方法:

var matches = fileSelector.SelectEntries(yourZipFile,"META-INF");
for(int i = 0;i < matches.Length; ++i)
{
    yourZipFile.RemoveEntry(matches[i].FileName);
}
var matches=fileSelector.SelectEntries(您的ZipFile,“META-INF”);
for(int i=0;i
我用了这个:

 int x;
 for (x = 0; x < zip.Count - 1; x++)
 {
     ZipEntry e = zip[x];
     if (e.FileName == "META-INF/")
     {
         zip.RemoveEntry(e.FileName);
     }
 }
intx;
对于(x=0;x
RemoveEntry()是否不起作用?编辑:看看这个可能的副本?@Janesabouchleich我编辑了那个代码和它的工作原理。。。谢谢你这么说,不客气!抱歉,它不起作用…@GemHunter1 Janes建议的解决方案似乎对您有效,但他也指向RemoveEntry(),这是我在代码中使用的:)现在我看到,他指出的解决方案和我的几乎相同:)我使用了第一个代码,而不是第二个。。。这些都不一样。