我创建了这个批处理文件,将我的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/给了我以下两个我需要解决的错误。
1.如何强制mimetype文件成为存档中的第一个?
2.如何删除这个thumbs.db,我可以在档案中看到它,但我在资源管理器中看不到它?
提前谢谢
答案 0 :(得分:2)
将mimetype作为zip名称后面的第一个filespec,应该先处理它。
查找7zip的文件排除功能,并将其与thumbs.db一起使用,因为它是一个隐藏文件。
答案 1 :(得分:0)
先放入mimetype
,但不要压缩。
答案 2 :(得分: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
答案 3 :(得分:0)
我无法使用7z,结束了:
01:04
答案 4 :(得分:0)
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 类型。