Batch file 使用批处理文件和7zip压缩epub
我创建这个批处理文件是为了将我的epub文件压缩成一个epub 它检查现有的epub并将其删除 它检查当前文件夹名,然后简单地创建一个同名的zip文件。 然后它将.zip重命名为.epubBatch file 使用批处理文件和7zip压缩epub,batch-file,7zip,epub3,Batch File,7zip,Epub3,我创建这个批处理文件是为了将我的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文件的验证。给出了我需要修复的
for %%a in (.) do set currentfolder=%%~na
del *.epub
7z a -tzip %currentfolder%.zip META-INF OPS mimetype
rename *.zip *.epub
但是,我没有通过此epub文件的验证。给出了我需要修复的以下两个错误
- Mimetype条目丢失或不是存档中的第一个条目
- 项目(OPS/image/Thumbs.db)存在于zip文件中,但不存在 在OPF文件中声明
提前感谢您将mimetype作为zip名称后的第一个filespec,应该首先处理它
查找7zip的文件排除功能,并将其与thumbs.db一起使用,因为它是一个隐藏文件。将
mimetype
放在第一位,但不压缩。通过添加文件名,将mimetype移动到epub文件开头的脚本,请参见此答案!mimetype以使其成为第一个。然后在zip文件中重命名为mimetype
它们的关键是在zip文件中重命名,如下所示:
"C:\Program Files\7-Zip\7z.exe" a myfile.zip !mimetype
"C:\Program Files\7-Zip\7z.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 *
我已经添加了排除标签,效果非常好,谢谢。mimetype问题仍然没有解决。不管我把mimetype放在filespec的什么地方,7zip都会按字母顺序添加它们。第一个将创建归档并包含mimetype。第二个将
与其余文件一起添加到存档中。关于thumbs.db:您的命令只添加特定的文件,因此无论如何都不应该添加thumbs.db。我使用了两个7zip命令行,但仍然得到一个关于mimetype丢失的错误。我不认为7zip保留了文件添加的顺序。