Как распаковать ZIP-файл из macOS в Windows и является ли папка «__MACOSX» в ZIP-файле, созданном на Mac, правильным местом для поиска содержимого ZIP-файла?

Как распаковать ZIP-файл из macOS в Windows и является ли папка «__MACOSX» в ZIP-файле, созданном на Mac, правильным местом для поиска содержимого ZIP-файла?

Кто-то прислал мне кучу PDF-файлов в виде Zip-архива со своего ноутбука Mac. Теперь я пытаюсь извлечь PDF-файлы.

Я работаю в Windows 10 и могу извлечь папку, __MACOSXа внутри нее — папку, содержащую несколько PDF-файлов, но когда я вижу файлы в двоичном формате, они на самом деле не имеют правильного PDF-формата.

В начале файла я вижу несколько вставок обычного текста, таких как ATTRили , com.dropbox.attrs и, по-видимому, несколько двоичных вставок, вероятно, значений этих атрибутов.

Это причуда Zip? Или эти файлы изначально были повреждены, например, когда отправитель скачал их с Dropbox? Или я не там ищу?

Разве это не та папка, __MACOSXгде мне следует искать свои файлы?


ПРИМЕЧАНИЕ: Мой вопрос не теоретический, типа, __MACOSXдля чего он был предназначен и почему Apple не использует стандартные форматы файлов.

Мой вопрос чисто практический: мне срочно нужны PDF-файлы, которые мне прислали, так как я могу извлечь их в пригодном для использования виде (не поврежденные этими бесполезными вставками «атрибутов») (или как я могу удалить эти вставки, чтобы восстановить PDF-файлы?)

Я могу себе представить, что частью решения будет одолжить у кого-нибудь ноутбук Mac и открыть Zip там, но я понятия не имею, как открыть его на Mac. Или как перенести их обратно — может быть, с помощью USB-накопителя?

Помогите, пожалуйста, с пошаговыми инструкциями, которые не требуют ошибок. Если бы я знал, что делать, я бы не спрашивал.

решение1

Возможно, вы захотите ограничиться только содержимым Windows, поскольку эта __MACOSXразветвленная версия не нужна в Windows.

Будьте осторожны, этот скрипт cmd не выполняет обширную проверку, а является шаблоном для ваших собственных улучшений. У вас должна быть рабочая "копия" файлов MAC в рабочей папке, чтобы избежать проблем и настроить результаты по своему желанию.

Здесь используется пример перетаскивания. Скрипт находится в одной папке, а находится VBExample.zipв своей собственной папке. Мы видим его подпапки, но они еще НЕ распакованы.

введите описание изображения здесь

До:
введите описание изображения здесь

После этого zip-архив будет сохранен и уменьшен в размере без вилки, а в качестве бонуса будет представлено распакованное содержимое (при желании его можно удалить):
введите описание изображения здесь

Этот скрипт поставляется с "нулевой гарантией" работы со всеми zip-архивами Mac. Он работает с более распространенными вариантами. Всегда используйте копию того, который вы получили. Затем удалите рабочие копии по желанию.

if not exist "%~dpn1.zip" goto EOF
pushd "%~dp1"

copy "%~dpn1.zip" "%~dpn1-backup.zip"
tar -xf "%~dpn1.zip"
rd /s /q __MACOSX
tar -a -cf "%~dpn1.zip" "%~n1\*.*"

if not exist "%~dpn1.zip" echo FAILED & pause
REM [optionally remove the unpacked folder] RD /S /Q "%~n1"

:exit
popd

Причинами сбоя могут быть несоответствие имени файла имени папки (например, размер нового zip-файла слишком мал — 1 КБ). введите описание изображения здесь

В таком случае мы можем легко выполнить пересборку, отправив файл в правильно названную zip-папку. введите описание изображения здесь введите описание изображения здесь

Или убедитесь, что имя внешнего zip-файла соответствует имени внутренней папки. введите описание изображения здесь

Связанный контент