Há momentos em que é necessário que os arquivos em um arquivo ZIP estejam em uma ordem específica (por exemplo, estou criandoEPUBs, que exigem que a primeira entrada no ZIP seja o mimetype
arquivo). Como posso fazer isso no Windows?
Atualmente estou usando7-Zipcomo meu arquivador, mas não vejo uma opção para controlar a ordem dos arquivos. Isso pode ser feito com 7-zip? Se não, que opções eu tenho?
Responder1
Versão da GUI 7-zip:
- extrair
mimetype
do arquivo EPUB - excluir
mimetype
no arquivo EPUB - renomear
mimetype
para!mimetype
- adicionar
!mimetype
ao arquivo EPUB - renomear
!mimetype
paramimetype
dentro do arquivo EPUB
Versão simples de arrastar e soltar 7-zip:
Vá paraPágina de download do 7-zipe download 7-Zip Extra: standalone console version, 7z DLL, Plugin for Far Manager
(não funciona com 9.20 estável, mas funciona bem com 9.38 beta e 15.06 beta). Extrair 7za.exe
. Salve o código abaixo como repair.bat
arquivo:
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.exe
e repair.bat
no mesmo diretório e simplesmente arraste seu arquivo EPUB para repair.bat
.
Responder2
Uma maneira seria: a maioria dos arquivadores e ferramentas de arquivamento têm a capacidade de anexar ou adicionar itens de arquivo adicionais ao arquivo original. Crie seu arquivo com os itens desejados na parte superior e adicione itens de arquivos adicionais a esse arquivo criado. Eu sei que isso funciona nas próprias ferramentas ZIP do Windows.
parece que a resposta real está além de mim, aqui para C# https://stackoverflow.com/questions/5898787/creating-an-epub-file-with-a-zip-library
aqui para HTML (usando 7z)
http://next.blurb.com/2011/02/17/how-to-make-an-ipad-photo-book/
especificamente esta parte
2.Abra a pasta sample-photo-book e copie primeiro o tipo MIME do arquivo para o arquivo (vazio).
3.Agora, copie as demais pastas (META-INF e OEBPS) para o arquivo.
http://idpf.org/epub/30/spec/epub30-ocf.html#physical-container-zip
O conteúdo do arquivo mimetype não deve conter nenhum preenchimento inicial ou espaço em branco, não deve começar com a assinatura Unicode (ou marca de ordem de byte) e o caso da string do tipo MIME deve ser exatamente como apresentado acima. Além disso, o arquivo mimetype não deve ser compactado nem criptografado e não deve haver um campo extra em seu cabeçalho ZIP.
Responder3
A criação de um EPUB requer um processo de duas etapas: primeiro adicione o tipo MIME sem qualquer (!) compactação e depois adicione os outros arquivos/pastas. Então, usando 7z você poderia usar os seguintes comandos:
7z a -mx=0 dummy.zip mimetype
Para poder usar o curinga * você deve mover o arquivo mimetype para outra pasta e iniciar o segundo passo:
7z a -r dummy.zip *
Depois disso, renomeie o ZIP para EPUB e pronto!
Responder4
Usar o winrar funcionou para mim. Adicionei o tipo MIME a um arquivo zip (descompactado!), Depois adicionei as pastas restantes, compactação regular.
Esta solução não funcionou para mim com o 7-zip, pois ele continua reordenando os arquivos.