ZIP 아카이브의 파일이 특정 순서 로 있어야 할 때가 있습니다 (예를 들어, 현재 EPUB을 작성 중 입니다. ZIP의 첫 번째 항목이 mimetype
파일 이어야 함 ). Windows에서 어떻게해야합니까?
현재 7-Zip 을 아카이버로 사용하고 있지만 파일 순서를 제어하는 옵션이 표시되지 않습니다. 이 작업을 7-zip으로 수행 할 수 있습니까? 그렇지 않은 경우 어떤 옵션이 있습니까?
ZIP 아카이브의 파일이 특정 순서 로 있어야 할 때가 있습니다 (예를 들어, 현재 EPUB을 작성 중 입니다. ZIP의 첫 번째 항목이 mimetype
파일 이어야 함 ). Windows에서 어떻게해야합니까?
현재 7-Zip 을 아카이버로 사용하고 있지만 파일 순서를 제어하는 옵션이 표시되지 않습니다. 이 작업을 7-zip으로 수행 할 수 있습니까? 그렇지 않은 경우 어떤 옵션이 있습니까?
답변:
mimetype
EPUB 파일에서 추출mimetype
EPUB 파일에서 삭제mimetype
로!mimetype
!mimetype
EPUB 파일에 추가!mimetype
에 mimetype
내부 EPUB 파일이동에 7-ZIP 다운로드 페이지 다운로드 7-Zip Extra: standalone console version, 7z DLL, Plugin for Far Manager
(안정적 9.20하지 작동하지만이 9.38 베타 15.06 베타와 함께 잘 작동하지 않습니다). 추출 7za.exe
. 아래 코드를 repair.bat
파일 로 저장하십시오 .
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
넣어 7za.exe
와 repair.bat
같은 디렉토리에 간단하게 당신의 EPUB 파일을 드래그합니다 repair.bat
.
한 가지 방법은 다음과 같습니다. 대부분의 아카이버 및 아카이브 도구에는 원본 아카이브에 추가 파일 항목을 추가하거나 추가 할 수 있습니다. 상단에서 원하는 항목으로 아카이브를 생성 한 다음 생성 된 아카이브에 추가 파일 항목을 추가하십시오. 나는 이것이 Windows 자체 ZIP 도구에서 작동한다는 것을 알고 있습니다.
실제 대답이 나를 넘어서는 것처럼 보입니다. 여기 C # https : //.com/questions/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/
구체적으로이 부분
2. sample-photo-book 폴더를 열고 파일 mimetype을 먼저 (비어있는) 아카이브로 복사하십시오.
3. 이제 다른 폴더 (META-INF 및 OEBPS)를 아카이브에 복사하십시오.
http://idpf.org/epub/30/spec/epub30-ocf.html#physical-container-zip
mimetype 파일의 내용에는 선행 패딩이나 공백이 없어야하며 유니 코드 서명 (또는 바이트 순서 표시)으로 시작해서는 안되며 MIME 형식 문자열의 경우 위에 제시된대로 정확하게 입력해야합니다. mimetype 파일은 추가로 압축하거나 암호화하지 않아야하며 ZIP 헤더에 추가 필드가 없어야합니다.
mimetype
다음 다른 파일을 추가)으로 시도했지만 성공하지 못했습니다. mimetype
데이터는 파일에 첫번째 듯했으나, 파일 테이블은 알파벳 순서 것으로 보인다.
7z l filename.zip
zip의 내용을 나열했지만 어떤 순서 (이름, 경로, 날짜, 크기 ...)가 아닌 것처럼 보입니다. 따라서이 명령 행을 사용하면 zip 파일의 실제 순서를 결정하는 데 도움이 될 수 있습니다.
.epub
텍스트 편집기에서 를 열고 파일 테이블을 직접 검사하여 확인 중이므로이 방법이 저에게 효과적 이지 않은 것처럼 보입니다. 파이썬 망치를 문제에 가져 가서 문제가 해결되지 않는지 확인하겠습니다.
EPUB를 만들려면 2 단계 프로세스가 필요합니다. 먼저 압축없이 (!) 압축없이 mimetype을 추가하고, 다른 파일 / 폴더를 추가하십시오. 따라서 7z를 사용하면 다음 명령을 사용할 수 있습니다.
7z a -mx=0 dummy.zip mimetype
와일드 카드 *를 사용하려면 파일 mimetype을 다른 폴더로 이동하고 두 번째 단계를 시작해야합니다.
7z a -r dummy.zip *
그 후 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, 7, 64 비트)은 Window의 내장 Zip 기능을 사용하는 것입니다. "보내기"를 사용하여 mimetype을 새 압축 폴더로 보낸 다음 7Zip을 사용하여 META-INF 및 OEBPS를 새 zip에 추가하십시오. 그것은 항상 mimetype 파일을 먼저 시퀀싱하는 관점에서 작동하는 것 같습니다. 나는 7-zip으로만이 작업을 수행하는 데 성공하지 못했습니다. (이것은 ePUBS를위한 것이지만 다른 영역에서도 시퀀싱을 위해 작동해야합니다.)
나는 이것이 다른 누군가를 돕기를 바랍니다.
EPUB 파일로 작업 할 때도 같은 문제가 발생했습니다.
Windows 7에서는이 이상한 속임수로 문제를 해결하여 파일에 mimetype을 맨 위에 올려 놓는 방식으로 ZIP에 만들려고하는 모든 파일을 정렬했습니다 (일반적으로 크기별로 정렬). 그런 다음 압축 된 (zip) 폴더로 보내기 전에 커서로 모든 파일을 위에서 아래로 표시했는지 확인하십시오 (예 : https://support.microsoft.com/en-us/help/14200/ windows-compress-uncompress-zip-files ). 그 후 나는에 이름과 파일 형식 변경 될 수 있습니다 무엇 의 .epub을.
그러나 Windows 10으로 업그레이드 한 후에는이 트릭이 더 이상 작동하지 않았습니다. 다행히 나는 다른 길을 찾았다. 먼저 zip 파일의 상단 (mimetype)에서 원하는 파일을 압축 (zip) 폴더로 보냅니다. 해당 파일 만 확인하십시오. 압축하려는 다른 파일 (제 경우에는 두 개의 폴더)을 커서로 표시하고 방금 만든 zip 파일로 드래그합니다. 그런 다음 Windows는 새 파일을 zip 파일에 추가하고 처음에 압축 한 파일을 맨 위에 유지합니다.