ZIP 보관 파일에서 파일 순서를 어떻게 제어 할 수 있습니까?


14

ZIP 아카이브의 파일이 특정 순서 로 있어야 할 때가 있습니다 (예를 들어, 현재 EPUB을 작성 입니다. ZIP의 첫 번째 항목이 mimetype파일 이어야 함 ). Windows에서 어떻게해야합니까?

현재 7-Zip 을 아카이버로 사용하고 있지만 파일 순서를 제어하는 ​​옵션이 표시되지 않습니다. 이 작업을 7-zip으로 수행 할 수 있습니까? 그렇지 않은 경우 어떤 옵션이 있습니까?


3
필요한 순서대로 추가하면됩니다. mimetype 파일을 먼저 압축 한 다음 두 번째 작업으로 다른 파일을 zip에 추가하십시오.
Paul

1
@Paul — 놀랍게도 작동하지 않았습니다. :-/
Ben Blank

LIFO일까요? 마지막으로 mimetype을 추가해 볼 수 있습니까? 압축을 풀지 않고 epub 독자를 대상으로 테스트하고 있습니까?
Paul

3
내용이 특정 순서로되어 있어야하는 응용 프로그램이 손상되었습니다.
psusi

3
사양의 저자 인 Sheesh는 철회하여 4 개의 힌트를 얻었습니다.
psusi

답변:


5

7-zip GUI 버전 :

  1. mimetypeEPUB 파일에서 추출
  2. mimetypeEPUB 파일에서 삭제
  3. 이름 바꾸기 mimetype!mimetype
  4. !mimetypeEPUB 파일에 추가
  5. 이름 변경 !mimetypemimetype내부 EPUB 파일

7-zip 간단한 드래그 앤 드롭 버전 :

이동에 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.exerepair.bat같은 디렉토리에 간단하게 당신의 EPUB 파일을 드래그합니다 repair.bat.


3

한 가지 방법은 다음과 같습니다. 대부분의 아카이버 및 아카이브 도구에는 원본 아카이브에 추가 파일 항목을 추가하거나 추가 할 수 있습니다. 상단에서 원하는 항목으로 아카이브를 생성 한 다음 생성 된 아카이브에 추가 파일 항목을 추가하십시오. 나는 이것이 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 헤더에 추가 필드가 없어야합니다.


1
나는 이것을 7-zip (으로 아카이브를 만든 mimetype다음 다른 파일을 추가)으로 시도했지만 성공하지 못했습니다. mimetype 데이터는 파일에 첫번째 듯했으나, 파일 테이블은 알파벳 순서 것으로 보인다.
벤 블랭크

2
@BenBlank zip 클라이언트를 사용하여이를 확인하지 않아야합니다. epub 독자가 반드시 볼 필요는 없지만 인간에게 적합한 방식으로 다시 주문합니다.
Paul

아마도 문제는 7-Zip이 디렉토리를 알파 순서로 유지하고 zip 파일을 닫을 때 (필요하게) 디렉토리를 다시 쓰는 것을 좋아한다는 것입니다. 이론적으로는 16 진 편집기 나 임시 도구를 사용하여 zip 파일을 편집하고 디렉토리를 재 배열하여이 문제를 해결할 수 있습니다. 특별히 복잡하지는 않습니다. 항상 먼저 정렬되는 더미 파일을 포함시켜 편집을 단순화 할 수 있습니다. 그러나 물론 위 링크의 기술도 효과가 있습니다.
Daniel R이

나는 7z l filename.zipzip의 내용을 나열했지만 어떤 순서 (이름, 경로, 날짜, 크기 ...)가 아닌 것처럼 보입니다. 따라서이 명령 행을 사용하면 zip 파일의 실제 순서를 결정하는 데 도움이 될 수 있습니다.
Scott McClenning

@Paul — .epub텍스트 편집기에서 를 열고 파일 테이블을 직접 검사하여 확인 중이므로이 방법이 저에게 효과적 이지 않은 것처럼 보입니다. 파이썬 망치를 문제에 가져 가서 문제가 해결되지 않는지 확인하겠습니다.
벤 블랭크

2

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
Tomáš Zato-Reinstate Monica

1

내 경험상 가장 간단한 대답 (Windows 7, 7, 64 비트)은 Window의 내장 Zip 기능을 사용하는 것입니다. "보내기"를 사용하여 mimetype을 새 압축 폴더로 보낸 다음 7Zip을 사용하여 META-INF 및 OEBPS를 새 zip에 추가하십시오. 그것은 항상 mimetype 파일을 먼저 시퀀싱하는 관점에서 작동하는 것 같습니다. 나는 7-zip으로만이 작업을 수행하는 데 성공하지 못했습니다. (이것은 ePUBS를위한 것이지만 다른 영역에서도 시퀀싱을 위해 작동해야합니다.)

나는 이것이 다른 누군가를 돕기를 바랍니다.


0

winrar를 사용하면 나를 위해 속임수를 썼습니다. 압축 파일 압축 파일 (압축되지 않음!)에 mimetype을 추가 한 다음 나중에 나머지 폴더 인 정기적 압축을 추가했습니다.

이 솔루션은 파일 순서를 계속 유지하므로 7-zip에서는 작동하지 않았습니다.


0

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 파일에 추가하고 처음에 압축 한 파일을 맨 위에 유지합니다.


1
저자의 질문에 대한 답이 무엇인지 명확하게 나타낼 수 있습니까? Windows 10으로 업그레이드하는 것이 실제로이 질문에 대한 답은 아닙니다. 당신은 그것을 고치는 방법에 집중하고, 구체적인 내용을 제공하며, 당신의 진술은 광범위하게 진행됩니다. 원래 문제를 재현해야한다면 귀하의 답변으로는 문제를 해결할 수 없습니다.
Ramhound
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.