Jak rozpakować chroniony hasłem plik .zip za pomocą terminala?

19

Muszę rozpakować .zipplik chroniony hasłemTerminal

Jestem w stanie rozpakować plik .zip (jeśli nie jest chroniony hasłem) za pomocą tego polecenia

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

Uwaga: muszę podać hasło w poleceniu. Wiem, kiedy prosi o hasło, ale mój scenariusz jest inny, ponieważ muszę przekazać hasło w samym poleceniu (np. -p "my password"W systemie Linux ).

Vikas Bansal
źródło
unzipw razie potrzeby monituje o hasło.
greg-449
Muszę podać hasło w poleceniu. Powodem jest to, że pracuję nad aplikacją, która ma funkcję ładowania danych z pliku zip i muszę przekazać całą komendę w jednym wierszu
Vikas Bansal

Odpowiedzi:

22

Użyj -P passwordargumentu, aby przekazać hasło do unzip:

unzip -P password /Users/vikas/Desktop/as.zip -d /Users/vikas/Desktop/new\ folder
greg-449
źródło
Ciągle pojawia się komunikat „Niepasująca nazwa pliku” w reż. Docelowym
Mathijs Segers,
5

możesz do tego użyć „ Unarchiver ”, działa idealnie.

zszywacz
źródło
4
Czy unarchiver jest poleceniem terminalowym? Jeśli jest to przykład, pomoże, jeśli nie jest, to nie odpowiada na pytanie.
Solar Mike,
3

W przypadku szyfrowania AES rozpakowanie nie będzie działać. W takim przypadku 7z wykonaj lewę idealnie:

7z x <archive_name>
iskramac
źródło
1
Możesz także wpisać hasło w wierszu poleceń zamiast czekać na monit 7z, aby je o to poprosić, np. 7z x <archive_name> -pPASSWORD- nie ma spacji po -p.
Andrew Morton,
0

Czasami unzippolecenie nie działa dla mnie, więc zastąpienie unzip dittorozwiąże problem:

ditto -V -x -k --password --sequesterRsrc --rsrc FILENAME.ZIP DESTINATIONDIRECTORY
Długi Nguyen
źródło