0

我有一个受密码保护的压缩文件,其中包含另一个 pw 压缩文件,我想在第二个 zip 内的文件夹 0 下检索 xml 文件。但我想在根文件夹(args [0])中有这个 xml,你有什么想法吗?

它总是在 root/0/project.xml 中提取,我想要 root/project.xml 实际上我希望 xml 在与第一个 zip 相同的文件夹中。

using (ZipFile zip = ZipFile.Read(args[0])) {

     zip.Password = "pass1";
     zip.ExtractAll(".",ExtractExistingFileAction.OverwriteSilently);
     using (ZipFile zip2 = ZipFile.Read("0.xtz"))
     {
          ZipEntry e = zip2["0/project.xml"];
          e.ExtractWithPassword(".", ExtractExistingFileAction.OverwriteSilently, "pass2");

     }

}
4

2 回答 2

0

FlattenFoldersOnExtract属性设置true为 ZipFile

于 2012-07-13T09:55:35.570 回答
0

我在我的案例中找到了一个特定的答案。如果您知道文件名,诀窍是只保留文件名

ZipEntry e = zip2["0/project.xml"];
e.Filename="project.xml"
e.ExtractWithPassword(".", ExtractExistingFileAction.OverwriteSilently, "pass2");

如果您有多个条目来删除任何包含“/”的文件夹并仅保留文件名,您也可以进行循环。

于 2012-07-13T09:59:56.013 回答