使用批处理文件和 7zip 压缩 epub



我创建了这个批处理文件来将我的 epub 文件压缩到 epub 中。

它会检查现有的 epub 并将其删除。

它检查当前文件夹名称,然后简单地创建一个具有相同名称的 zip 文件。然后,它将该.zip重命名为 .epub

for %%a in (.) do set currentfolder=%%~na
del *.epub
7z a -tzip %currentfolder%.zip META-INF OPS mimetype
rename *.zip *.epub

但是我没有通过此 epub 文件的验证。 http://validator.idpf.org/给了我以下两个需要修复的错误。

  • Mimetype 条目丢失或不是存档中的第一个条目
  • 项目(OPS/图像/拇指.db)存在于 zip 文件中,但不是在 OPF 文件中声明

1.如何强制 mimetype 文件成为存档中的第一个文件?

2.如何删除此拇指.db,我可以在存档中看到它,但在资源管理器中看不到它?

提前谢谢你

将 mimetype 作为 zip 名称之后的第一个文件规范,应该首先处理它。

查找7zip的文件排除功能并用拇指使用它.db因为它是一个隐藏文件。

Ferroao 的想法是正确的,但可以简化:

cd "folder of epub content"
# add mimetype 1st
zip -0 -X ../file.epub mimetype
# add the rest
zip -9 -X -r -u ../file.epub *

第二个命令上的 -u 告诉 Zip 只添加新/更改的文件,因此它将在第二次传递时跳过 mime 类型。

首先放入mimetype,但不压缩。

有关将

mimetype 移动到 epub 文件开头的脚本,请参阅此答案,方法是添加文件名 !mimetype 以使其排在第一位。 然后在 zip 文件中重命名为 mimetype。 https://superuser.com/a/966241

他们的关键是在zip文件中重命名,如下所示:

"C:Program Files7-Zip7z.exe" a myfile.zip !mimetype
"C:Program Files7-Zip7z.exe" rn myfile.zip !mimetype mimetype

我不能用 7z,结束了:

cd "folder of epub content"
# add mimetype 1st
zip -0 -X ../file.epub mimetype
# avoid writing it again in the next step, here I renamed
mv mimetype backup_mimetype
# add the rest
zip -9 -X -r ../file.epub *

相关内容

  • 没有找到相关文章

最新更新