У меня есть защищенный паролем ZIP-файл, который мне нужно расшифровать и разархивировать на Mac.
Если я перейду к файлу в Finder, дважды щелкну по нему, введу пароль при появлении запроса, он без проблем расшифровает и разархивирует файл.
Однако если я открою терминал и попытаюсь разархивировать его, используя следующую командную строку, выдаст ошибку:
unzip targetfile.CSV.zip
Archive: targetfile.CSV.zip
skipping: targetfile.CSV unsupported compression method 99
Я понимаю, что сама ошибка означает, что алгоритм сжатия не поддерживается, но что-то в ОС должно иметь возможность расшифровать/разархивировать файл, поскольку оно могло обработать его через графический интерфейс (и да, мне нужно сделать это через командная строка). Вероятно, мне не будет разрешено использовать сторонний инструмент, такой как 7zip, для его разблокировки.
Как мне получить командную строку для расшифровки/разархивирования файла?
@Philippe - К сожалению, он дает ответ «Неизвестный тип сжатия».
99 означает, что запись зашифрована, а не что используется неподдерживаемый метод сжатия. 99 скрывает фактический метод сжатия, который можно найти в другом месте после расшифровки.
Вы можете попробовать исполняемый файл командной строки 7-zip. Это должно быть в состоянии расшифровать и извлечь zip-файл.
В качестве альтернативы вы можете создать AppleScript для выполнения действия с помощью Finder, а затем создать из него исполняемый файл командной строки с помощью команды osascript
.
Я бы предпочел использовать 7-Zip, но похоже, что он блокируется. Я рассмотрю возможность изучения AppleScript и посмотрю, смогу ли я запустить его отдельно. Кажется, этого довольно много, и я до сих пор не понимаю, почему система не может просто выполнить те же действия, чтобы попытаться открыть файл через терминал, что и через Finder и графический интерфейс (если я что-то не упускаю).
Просто утилита распаковки из командной строки не поддерживает расшифровку. Finder использует собственный код для распаковки, а не для распаковки.
Проведя еще несколько исследований и просмотрев AppleScript, я заметил, что команда «Открыть» — это, по сути, то, что мне нужно (например, если папка и файл — «~/Documents/EncryptedFile.zip», то «Открыть ~/Documents/EncryptedFile.zip» " запрашивает пароль, и он работает так же, как и в графическом интерфейсе).
@Дж.С. Вы также можете написать здесь свой собственный ответ и принять его вместе с кодом, который решил вашу проблему, для других, кто ищет и находит ваш вопрос.
Попробуйте
ditto -x -k --password targetfile.CSV.zip ./