Разархивирование ZIP-файла на Mac (графический интерфейс или командная строка)

У меня есть защищенный паролем ZIP-файл, который мне нужно расшифровать и разархивировать на Mac.

Если я перейду к файлу в Finder, дважды щелкну по нему, введу пароль при появлении запроса, он без проблем расшифровает и разархивирует файл.

Однако если я открою терминал и попытаюсь разархивировать его, используя следующую командную строку, выдаст ошибку:

unzip targetfile.CSV.zip
Archive:  targetfile.CSV.zip
   skipping: targetfile.CSV  unsupported compression method 99

Я понимаю, что сама ошибка означает, что алгоритм сжатия не поддерживается, но что-то в ОС должно иметь возможность расшифровать/разархивировать файл, поскольку оно могло обработать его через графический интерфейс (и да, мне нужно сделать это через командная строка). Вероятно, мне не будет разрешено использовать сторонний инструмент, такой как 7zip, для его разблокировки.

Как мне получить командную строку для расшифровки/разархивирования файла?

Попробуйте ditto -x -k --password targetfile.CSV.zip ./

Philippe 05.07.2024 01:11

@Philippe - К сожалению, он дает ответ «Неизвестный тип сжатия».

J.C. 05.07.2024 02:00
Как установить PHP на Mac
Как установить PHP на Mac
PHP - это популярный язык программирования, который используется для разработки веб-приложений. Если вы используете Mac и хотите разрабатывать...
1
2
90
1
Перейти к ответу Данный вопрос помечен как решенный

Ответы 1

Ответ принят как подходящий

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

Вы можете попробовать исполняемый файл командной строки 7-zip. Это должно быть в состоянии расшифровать и извлечь zip-файл.

В качестве альтернативы вы можете создать AppleScript для выполнения действия с помощью Finder, а затем создать из него исполняемый файл командной строки с помощью команды osascript.

Я бы предпочел использовать 7-Zip, но похоже, что он блокируется. Я рассмотрю возможность изучения AppleScript и посмотрю, смогу ли я запустить его отдельно. Кажется, этого довольно много, и я до сих пор не понимаю, почему система не может просто выполнить те же действия, чтобы попытаться открыть файл через терминал, что и через Finder и графический интерфейс (если я что-то не упускаю).

J.C. 05.07.2024 16:18

Просто утилита распаковки из командной строки не поддерживает расшифровку. Finder использует собственный код для распаковки, а не для распаковки.

Mark Adler 05.07.2024 22:44

Проведя еще несколько исследований и просмотрев AppleScript, я заметил, что команда «Открыть» — это, по сути, то, что мне нужно (например, если папка и файл — «~/Documents/EncryptedFile.zip», то «Открыть ~/Documents/EncryptedFile.zip» " запрашивает пароль, и он работает так же, как и в графическом интерфейсе).

J.C. 15.07.2024 13:20

@Дж.С. Вы также можете написать здесь свой собственный ответ и принять его вместе с кодом, который решил вашу проблему, для других, кто ищет и находит ваш вопрос.

Mark Adler 15.07.2024 16:43

Другие вопросы по теме