Бывают случаи, когда необходимо, чтобы файлы в ZIP-архиве были в определенном порядке (например, в настоящее время я создаю EPUB , которые требуют, чтобы первая запись в ZIP- mimetype
файле была файлом). Как я могу сделать это на Windows?
В настоящее время я использую 7-Zip в качестве архиватора, но не вижу опции для управления порядком файлов. Можно ли это сделать с помощью 7-zip? Если нет, какие варианты у меня есть?
Ответы:
Один из способов: большинство архиваторов и инструментов архивирования имеют возможность добавлять или добавлять дополнительные элементы файла в исходный архив. Создайте свой архив с элементами, которые вы хотите вверху, затем добавьте дополнительные элементы файлов в этот созданный архив. Я знаю, что это работает в Windows собственные инструменты ZIP.
похоже, что реальный ответ за мной, здесь для C # /programming/5898787/creating-an-epub-file-with-a-zip-library
здесь для HTML (используя 7z)
http://next.blurb.com/2011/02/17/how-to-make-an-ipad-photo-book/
конкретно эта часть
http://idpf.org/epub/30/spec/epub30-ocf.html#physical-container-zip
источник
mimetype
последующим добавлением других файлов), но безуспешно. Этиmimetype
данные пришли первые в файле, но файловая таблица , кажется, алфавитной.7z l filename.zip
для перечисления содержимого почтового индекса, и они, кажется, не в каком-либо порядке (имя, путь, дата, размер ...). Таким образом, использование этой командной строки может помочь определить истинный порядок файлов в zip..epub
в текстовом редакторе и непосредственно проверяя таблицу файлов, так что похоже, что этот подход просто не работает для меня. Я собираюсь взять Python молот к проблеме и посмотреть, если это не решит.7-zip версия GUI:
mimetype
из файла EPUBmimetype
в файле EPUBmimetype
в!mimetype
!mimetype
в EPUB файл!mimetype
воmimetype
внутренний файл EPUB7-zip простая версия для перетаскивания:
Перейдите на страницу загрузки 7-zip и загрузите
7-Zip Extra: standalone console version, 7z DLL, Plugin for Far Manager
(не работает со стабильной 9.20, но хорошо работает с 9.38 бета и 15.06 бета). Extract7za.exe
. Сохраните код ниже какrepair.bat
файл:Поместите
7za.exe
иrepair.bat
в ту же директорию и просто перетащите свой файл EPUBrepair.bat
.источник
Создание EPUB требует двухэтапного процесса: сначала добавьте mimetype без какого-либо (!) Сжатия, затем добавьте другие файлы / папки. Таким образом, используя 7z, вы можете взять следующие команды:
Чтобы иметь возможность использовать подстановочный знак *, вы должны переместить файл mimetype в другую папку и начать второй шаг:
После этого переименуйте ZIP в EPUB, и вы ушли!
источник
Epubcheck Version 3.0.1 ERROR: C:/MYSELF/Books/1984---George-Orwell/1984---George-Orwell.epub: Mimetype entry missing or not the first in archive
По моему опыту, самый простой ответ (для Windows, 7, 64-битный) - использовать встроенную Zip-функциональность Window. Используйте команду «Отправить», чтобы отправить mimetype в новую zip-папку, затем используйте 7Zip, чтобы добавить META-INF и OEBPS в новый zip-файл. Это, кажется, всегда работает с точки зрения последовательности файла mimetype в первую очередь. Я не имел успеха, выполняя эту операцию исключительно с 7-почтовым индексом. (Это для ePUBS, но оно должно работать для секвенирования и в других областях.)
Я надеюсь, что это помогает кому-то еще.
источник
Использование WinRar сделал свое дело для меня. Я добавил mimetype в zip-архив (без сжатия!), А затем добавил остальные папки, обычное сжатие.
Это решение не работало с 7-zip для меня, поскольку оно продолжает переупорядочивать файлы.
источник
У меня была такая же проблема при работе с EPUB-файлами.
В Windows 7 я исправил это с помощью этой странной уловки, где я убедился, что отсортировал все файлы, которые я собирался сделать, в zip-файл таким образом, чтобы сделать mimetype файл сверху (обычно сортируя их по размеру). Затем я удостоверился, что пометил все файлы сверху вниз курсором, прежде чем отправить их в сжатую (zip) папку (например, https://support.microsoft.com/en-us/help/14200/ windows-compress-uncompress-zip-файлы ). После этого я мог изменить имя и тип файла на любой .epub.
Однако после обновления до Windows 10 этот прием больше не работал. К счастью, я нашел другой путь. Сначала вы отправляете нужный файл вверху (mimetype) в zip-файле в сжатую (zip) папку. Убедитесь, что это только тот файл. Затем я беру другие файлы, которые хочу заархивировать (две папки в моем случае), пометить их курсором и перетащить их в созданный мной zip-файл. После этого Windows добавит новые файлы в zip-файл и оставит сверху файл, который вы изначально заархивировали.
источник