ZIP アーカイブ内のファイルの順序を制御するにはどうすればよいですか?

ZIP アーカイブ内のファイルの順序を制御するにはどうすればよいですか?

ZIPアーカイブ内のファイルを特定の順序で並べる必要がある場合があります(たとえば、現在作成しているEPUB 形式、ZIP の最初のエントリがファイルである必要がありますmimetype)。Windows でこれを実行するにはどうすればよいですか?

現在使用中7-ジップをアーカイバとして使用していますが、ファイルの順序を制御するオプションが表示されません。7-zip でこれを行うことはできますか? できない場合、どのようなオプションがありますか?

答え1

7-zip GUI バージョン:

  1. mimetypeEPUBファイルから抽出
  2. mimetypeEPUBファイルから削除
  3. mimetype名前を変更する!mimetype
  4. !mimetypeEPUBファイルに追加
  5. EPUBファイル内!mimetypeで名前を変更するmimetype

7-zip シンプルドラッグアンドドロップバージョン:

へ移動7-zip ダウンロードページダウンロードします7-Zip Extra: standalone console version, 7z DLL, Plugin for Far Manager(安定版 9.20 では動作しませんが、9.38 ベータ版および 15.06 ベータ版では正常に動作します)。抽出します7za.exe。以下のコードをrepair.batファイルとして保存します。

7za x %1 mimetype -y
7za d %1 mimetype
move /y mimetype !mimetype
7za a %1 !mimetype
del /f !mimetype
7za rn %1 !mimetype mimetype

7za.exeと をrepair.bat同じディレクトリに置き、EPUB ファイルを にドラッグするだけですrepair.bat

答え2

1 つの方法は次のとおりです。ほとんどのアーカイバとアーカイブ ツールには、元のアーカイブに追加のファイル項目を追加または追加する機能があります。必要な項目を先頭にしてアーカイブを作成し、作成したアーカイブに追加のファイル項目を追加します。これは Windows 独自の ZIP ツールで機能することがわかっています。

本当の答えは私には分からないようです。ここではC#についてです。 https://stackoverflow.com/questions/5898787/zip ライブラリを使用した epub ファイルの作成

HTMLはこちら(7zを使用)
http://next.blurb.com/2011/02/17/how-to-make-an-ipad-photo-book/

特にこの部分

2. sample-photo-book フォルダを開き、まず mimetype ファイルを (空の) アーカイブにコピーします。
3. 次に、他のフォルダ (META-INF および OEBPS) をアーカイブにコピーします。


http://idpf.org/epub/30/spec/epub30-ocf.html#物理コンテナ-zip

mimetype ファイルの内容には、先頭のパディングや空白文字を含めることはできません。また、Unicode 署名 (またはバイト オーダー マーク) で始まってはならず、MIME タイプ文字列の大文字と小文字は、上記のとおりでなければなりません。さらに、mimetype ファイルは圧縮も暗号化もされてはならず、ZIP ヘッダーに余分なフィールドがあってはなりません。

答え3

EPUB を作成するには、まず圧縮なしで MIME タイプを追加し、次に他のファイルやフォルダーを追加するという 2 つの手順が必要です。したがって、7z を使用する場合は、次のコマンドを実行できます。

7z a -mx=0 dummy.zip mimetype

ワイルドカード * を使用できるようにするには、ファイル mimetype を別のフォルダーに移動し、2 番目の手順を開始する必要があります。

7z a -r dummy.zip *

その後、ZIP の名前を EPUB に変更すれば完了です。

答え4

私の場合は、winrar を使うとうまくいきました。MIME タイプを zip アーカイブ (圧縮なし) に追加し、その後残りのフォルダーを通常の圧縮で追加しました。

この解決策は、ファイルの順序が変わり続けるため、7-zip では機能しませんでした。

関連情報