¿Cómo puedo controlar el orden de los archivos en un archivo ZIP?

¿Cómo puedo controlar el orden de los archivos en un archivo ZIP?

Hay ocasiones en las que es necesario que los archivos en un archivo ZIP estén en un orden específico (por ejemplo, actualmente estoy creandoEPUB, que requieren que la primera entrada del ZIP sea el mimetypearchivo). ¿Cómo puedo hacer esto en Windows?

actualmente estoy usando7 cremallerascomo mi archivador, pero no veo una opción para controlar el orden de los archivos. ¿Se puede hacer esto con 7-zip? Si no, ¿qué opciones tengo?

Respuesta1

Versión de GUI de 7 cremalleras:

  1. extraer mimetypedel archivo EPUB
  2. eliminar mimetypeen archivo EPUB
  3. cambiar el nombre mimetypea!mimetype
  4. agregar !mimetypeal archivo EPUB
  5. cambiar el nombre !mimetypeal mimetypearchivo EPUB interno

Versión simple de arrastrar y soltar con 7 cremalleras:

Ir aPágina de descarga de 7 zipy descargar 7-Zip Extra: standalone console version, 7z DLL, Plugin for Far Manager(no funciona con 9.20 estable, pero funciona bien con 9.38 beta y 15.06 beta). Extracto 7za.exe. Guarde el código a continuación como repair.batarchivo:

7za x %1 mimetype -y
7za d %1 mimetype
move /y mimetype !mimetype
7za a %1 !mimetype
del /f !mimetype
7za rn %1 !mimetype mimetype

Coloque 7za.exey repair.baten el mismo directorio y simplemente arrastre su archivo EPUB repair.bat.

Respuesta2

Una forma sería: la mayoría de los archivadores y herramientas de archivo tienen la capacidad de agregar o agregar elementos de archivo adicionales al archivo original. Cree su archivo con los elementos que desee en la parte superior, luego agregue elementos de archivos adicionales a ese archivo creado. Sé que esto funciona en las propias herramientas ZIP de Windows.

Parece que la respuesta real me supera, aquí para C# https://stackoverflow.com/questions/5898787/creando-un-epub-archivo-con-una-biblioteca-zip

aquí para HTML (usando 7z)
http://next.blurb.com/2011/02/17/how-to-make-an-ipad-photo-book/

específicamente esta parte

2.Abra la carpeta del libro de fotos de muestra y primero copie el archivo tipo MIME en el archivo (vacío).
3.Ahora, copie las otras carpetas (META-INF y OEBPS) en el archivo.


http://idpf.org/epub/30/spec/epub30-ocf.html#physical-container-zip

El contenido del archivo de tipo MIME no debe contener ningún relleno inicial ni espacios en blanco, no debe comenzar con la firma Unicode (o marca de orden de bytes) y el caso de la cadena de tipo MIME debe ser exactamente como se presentó anteriormente. Además, el archivo tipo mime no debe estar comprimido ni cifrado, y no debe haber un campo adicional en su encabezado ZIP.

Respuesta3

La creación de un EPUB requiere un proceso de dos pasos: primero agregue el tipo MIME sin ninguna (!) compresión y, en segundo lugar, agregue los otros archivos/carpetas. Entonces, usando 7z puedes tomar los siguientes comandos:

7z a -mx=0 dummy.zip mimetype

Para poder utilizar el comodín * debes mover el archivo tipo mime a otra carpeta e iniciar el segundo paso:

7z a -r dummy.zip *

Después de eso, cambia el nombre del ZIP a EPUB y ¡listo!

Respuesta4

Usar winrar funcionó para mí. Agregué el tipo mime a un archivo zip (¡sin comprimir!), luego agregué las carpetas restantes, compresión normal.

Esta solución no funcionó con 7-zip, ya que sigue reordenando archivos.

información relacionada