2

我创建了这个批处理文件来将我的 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 条目丢失或不是存档中的第一个
  • item (OPS/image/Thumbs.db) 存在于 zip 文件中,但未在 OPF 文件中声明

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

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

先感谢您

4

5 回答 5

2

Put mimetype as the first filespec after the zip name and it should be processed first.

Look up the file exclude feature of 7zip and use it with thumbs.db as it is a hidden file.

于 2013-09-16T10:52:26.467 回答
1

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 类型。

于 2021-06-24T19:00:27.357 回答
0

先放入mimetype,但不要压缩。

于 2013-12-18T13:40:06.777 回答
0

我不能用 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 *
于 2020-11-12T00:31:28.230 回答
0

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

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

"C:\Program Files\7-Zip\7z.exe" a myfile.zip !mimetype
"C:\Program Files\7-Zip\7z.exe" rn myfile.zip !mimetype mimetype
于 2019-12-22T06:30:32.390 回答