Comment décompresser un fichier .zip protégé par mot de passe à l'aide de Terminal?

18

J'ai besoin de décompresser un .zipfichier protégé par mot de passe en utilisantTerminal

Je peux décompresser le fichier .zip (s'il n'est pas protégé par mot de passe) en utilisant cette commande

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

Remarque: je dois passer le mot de passe dans la commande. Je sais quand il demande le mot de passe, mais mon scénario est différent car je dois passer le mot de passe dans la commande elle-même (par exemple -p "my password"sous Linux ).

Vikas Bansal
la source
unzipvous invite à saisir le mot de passe si nécessaire.
greg-449
J'ai besoin de passer le mot de passe dans la commande. La raison en est que je travaille sur une application qui a une fonction pour charger les données du fichier zip et que je dois passer la commande entière en une seule ligne
Vikas Bansal

Réponses:

22

Utilisez l' -P passwordargument pour passer le mot de passe à unzip:

unzip -P password /Users/vikas/Desktop/as.zip -d /Users/vikas/Desktop/new\ folder
greg-449
la source
Je reçois toujours un "Filename not matched" sur le
Mathijs Segers
5

vous pouvez utiliser " Unarchiver " pour cela, fonctionne parfaitement.

stixer
la source
4
Le désarchivage est-il une commande de terminal? Si c'est un exemple, cela aiderait, sinon, il ne répond pas à la question.
Solar Mike
2

En cas de cryptage AES, la décompression ne fonctionnera pas. Dans ce cas, 7z fait parfaitement l'affaire:

7z x <archive_name>
iskramac
la source
1
Vous pouvez également entrer le mot de passe sur la ligne de commande au lieu d'attendre que 7z le demande, par exemple 7z x <archive_name> -pPASSWORD- il n'y a pas d'espace après le -p.
Andrew Morton
0

Parfois, la unzipcommande ne fonctionne pas pour moi, alors remplacer la décompression par dittorésoudra le problème:

ditto -V -x -k --password --sequesterRsrc --rsrc FILENAME.ZIP DESTINATIONDIRECTORY
Long Nguyen
la source