Ada kalanya diperlukan untuk file dalam arsip ZIP berada dalam urutan tertentu (misalnya, saya saat ini membuat EPUB , yang mengharuskan entri pertama dalam ZIP menjadi mimetype
file). Bagaimana saya bisa melakukan ini di Windows?
Saat ini saya menggunakan 7-Zip sebagai pengarsipan saya, tetapi saya tidak melihat opsi untuk mengontrol urutan file. Bisakah ini dilakukan dengan 7-zip? Jika tidak, opsi apa yang saya miliki?
Jawaban:
Salah satu caranya adalah: Kebanyakan arsip, dan alat arsip memiliki kemampuan untuk menambahkan atau menambahkan item file tambahan ke arsip asli. Buat arsip Anda dengan item yang Anda inginkan di atas, lalu tambahkan item file tambahan ke arsip yang dibuat. Saya tahu ini bekerja di alat ZIP windows sendiri.
sepertinya jawaban sebenarnya ada di luar saya, di sini untuk C # /programming/5898787/creating-an-epub-file-with-a-zip-library
di sini untuk HTML (menggunakan 7z)
http://next.blurb.com/2011/02/17/how-to-make-an-ipad-photo-book/
secara khusus bagian ini
http://idpf.org/epub/30/spec/epub30-ocf.html#physical-container-zip
sumber
mimetype
, kemudian menambahkan file lainnya), tetapi tidak berhasil. Themimetype
Data datang pertama dalam file, tetapi tabel file tampaknya abjad.7z l filename.zip
mendaftar isi zip, dan tampaknya tidak dalam urutan apa pun (nama, jalur, tanggal, ukuran ...). Jadi, menggunakan baris perintah ini dapat membantu menentukan urutan sebenarnya dari file di zip..epub
editor teks dan memeriksa tabel file secara langsung, jadi sepertinya pendekatan ini tidak bekerja untuk saya. Saya akan mengambil palu Python untuk masalah dan melihat apakah itu tidak memperbaikinya.Versi GUI 7-zip:
mimetype
dari file EPUBmimetype
dalam file EPUBmimetype
menjadi!mimetype
!mimetype
ke file EPUB!mimetype
menjadimimetype
di dalam file EPUBVersi drag and drop sederhana 7-zip:
Pergi ke halaman unduh 7-zip dan unduh
7-Zip Extra: standalone console version, 7z DLL, Plugin for Far Manager
(tidak bekerja dengan stabil 9.20, tetapi bekerja dengan baik dengan 9.38 beta dan 15.06 beta). Ambil7za.exe
. Simpan kode di bawah ini sebagairepair.bat
file:Masukkan
7za.exe
danrepair.bat
dalam direktori yang sama dan cukup tarik file EPUB Andarepair.bat
.sumber
Membuat EPUB membutuhkan proses dua langkah, pertama tambahkan mimetype tanpa kompresi (!), Kedua tambahkan file / folder lainnya. Jadi menggunakan 7z Anda bisa mengambil perintah berikut:
Untuk dapat menggunakan wildcard * Anda harus memindahkan file mimetype ke folder lain dan memulai langkah kedua:
Setelah itu ganti nama ZIP menjadi EPUB dan Anda pergi!
sumber
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
Dalam pengalaman saya, jawaban paling sederhana (untuk Windows, 7, 64-bit) adalah menggunakan fungsionalitas Zip bawaan Windows. Gunakan "Kirim Ke" untuk mengirim mimetype ke folder zip baru, kemudian gunakan 7Zip untuk menambahkan META-INF dan OEBPS ke zip baru. Itu tampaknya selalu bekerja dalam hal mengurutkan file mimetype terlebih dahulu. Saya belum berhasil melakukan operasi ini hanya dengan 7-zip. (Ini untuk ePUBS, tetapi harus berfungsi, untuk pengurutan, di area lain juga.)
Saya harap ini membantu orang lain.
sumber
Menggunakan winrar telah membantu saya. Saya menambahkan mimetype ke zip-arsip (tidak terkompresi!), Kemudian menambahkan folder yang tersisa, kompresi reguler.
Solusi ini tidak bekerja dengan 7-zip untuk saya, karena ia terus menyusun ulang file.
sumber
Saya memiliki masalah yang sama ketika bekerja dengan file EPUB.
Pada Windows 7 saya memperbaikinya dengan trik aneh ini di mana saya memastikan bahwa saya mengurutkan semua file yang akan saya buat menjadi zip dengan cara yang membuat saya mengetikkan file di atas (biasanya mengurutkan berdasarkan ukuran). Kemudian saya memastikan bahwa saya menandai semua file dari atas ke bawah dengan kursor saya sebelum mengirimnya ke folder (zip) terkompresi (seperti ini: https://support.microsoft.com/en-us/help/14200/ windows-kompres-uncompress-zip-file ). Setelah itu saya bisa mengubah nama dan tipe file apa pun .epub.
Namun, setelah saya memutakhirkan ke Windows 10 trik ini tidak berfungsi lagi. Untungnya saya telah menemukan cara lain. Pertama Anda mengirim file yang Anda inginkan di bagian atas (mimetype) di file zip ke folder (zip) terkompresi. Pastikan hanya file itu. Daripada saya mengambil file lain saya ingin zip (dua folder dalam kasus saya) tandai dengan kursor dan seret ke file zip yang baru saja saya buat. Windows kemudian akan menambahkan file baru ke file zip, dan menjaga file yang semula Anda zip di atas.
sumber