
Кто-то прислал мне кучу 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-файла соответствует имени внутренней папки.