Как распаковать защищенный паролем .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
Greg-449
источник
Я продолжаю получать "Имя файла не соответствует" в целевой
директории
5

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

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

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

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

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

ditto -V -x -k --password --sequesterRsrc --rsrc FILENAME.ZIP DESTINATIONDIRECTORY
Лонг Нгуен
источник