如何控制 ZIP 存档中文件的顺序?

Ben*_*ank 18 windows zip 7-zip

有时 ZIP 存档中的文件需要按特定顺序排列(例如,我目前正在创建EPUB,这要求 ZIP 中的第一个条目是mimetype文件)。如何在 Windows 上执行此操作?

我目前使用7-Zip作为我的存档器,但我没有看到控制文件顺序的选项。这可以用 7-zip 完成吗?如果没有,我有哪些选择?

Tit*_*ion 5

7-zip GUI 版本:

  1. mimetype从 EPUB 文件中提取
  2. mimetype在 EPUB 文件中删除
  3. 重命名mimetype!mimetype
  4. 添加!mimetype到EPUB文件
  5. 重命名!mimetypemimetypeEPUB 文件内

7-zip 简易拖放版:

转到7-zip 下载页面并下载7-Zip Extra: standalone console version, 7z DLL, Plugin for Far Manager(不适用于稳定版 9.20,但适用于 9.38 beta 和 15.06 beta)。提取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
Run Code Online (Sandbox Code Playgroud)

7za.exerepair.bat放在同一目录中,只需将 EPUB 文件拖到repair.bat.


Psy*_*eek 4

一种方法是:大多数归档程序和归档工具都能够将其他文件项附加或添加到原始归档中。在顶部创建您想要的项目的存档,然后将其他文件项目添加到创建的存档中。我知道这适用于 Windows 自己的 ZIP 工具。

看起来真正的答案超出了我的范围,这里是 C# /sf/ask/412915121/

这里是 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#physical-container-zip

mimetype 文件的内容不得包含任何前导填充或空格,不得以 Unicode 签名(或字节顺序标记)开头,并且 MIME 类型字符串的大小写必须与上面所示完全相同。此外,mimetype 文件不得压缩或加密,并且其 ZIP 标头中不得有额外字段。

  • @BenBlank 确保您没有使用 zip 客户端进行检查 - 他们会以适合人类的方式重新排序,而不一定是 epub 读者会看到的方式。 (2认同)