Zip epub, используя командный файл и 7zip

Я создал этот пакетный файл, чтобы сжать мои файлы 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/image/Thumbs.db) существует в zip-файле, но не объявлен в OPF-файле

1.Как заставить файл mimetype первым в архиве?

2.Как удалить этот thumbs.db, я вижу его в архиве, но не вижу его в Проводнике?

заранее спасибо

5 ответов

Поместите mimetype в качестве первой спецификации файла после имени почтового индекса, и он должен быть обработан первым.

Найдите в файле 7zip функцию исключения файлов и используйте ее с thumbs.db, так как это скрытый файл.

Ферроао имеет правильную идею, но ее можно упростить:

      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, чтобы он был первым. Затем переименуйте в mimetype в zip-файле. 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

Я не смог с 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 *
Другие вопросы по тегам