0

別の pw zip ファイルを含むパスワードで保護された zip ファイルがあり、2 番目の zip 内のフォルダー 0 の下にある xml ファイルを取得したいと考えています。しかし、この xml をルート フォルダー (args[0]) に置きたいのですが、アイデアはありますか?

それは常に root/0/project.xml で抽出され、実際には root/project.xml が必要です。最初の zip と同じフォルダーに xml が必要です。

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プロパティをtrueZipFileに設定します

于 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 に答える