Как распаковать защищенный паролем .zip файл с помощью терминала?


18

Мне нужно распаковать .zipфайл, который защищен паролем, используяTerminal

Я могу распаковать файл .zip (если он не защищен паролем) с помощью этой команды

unzip /Users/vikas/Desktop/as.zip -d /Users/vikas/Desktop/new\ folder

Примечание: мне нужно передать пароль в команде. Я знаю, когда он запрашивает пароль, но мой сценарий отличается, так как я должен передать пароль в самой команде (например, -p "my password"в Linux ).


unzipзапрашивает пароль при необходимости.
greg-449

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

Ответы:


22

Используйте -P passwordаргумент для передачи пароля unzip:

unzip -P password /Users/vikas/Desktop/as.zip -d /Users/vikas/Desktop/new\ folder

Я продолжаю получать "Имя файла не соответствует" в целевой
директории

5

Вы можете использовать « Unarchiver » для него, работает отлично.


4
Является ли unarchiver терминальной командой? Если это пример поможет, если нет, то он не отвечает на вопрос.
Солнечный Майк

2

В случае шифрования AES распаковать не удастся. В таком случае 7z отлично справляются с задачей:

7z x <archive_name>

1
Вы также можете ввести пароль в командной строке, вместо того, чтобы ждать, пока 7z запросит его, например 7z x <archive_name> -pPASSWORD, после -p.
Эндрю Мортон,

0

Иногда unzipкоманда не работает для меня, поэтому замена unzip на dittoрешит проблему:

ditto -V -x -k --password --sequesterRsrc --rsrc FILENAME.ZIP DESTINATIONDIRECTORY
Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.