web-dev-qa-db-fra.com

Commande 7-Zip pour créer et extraire un fichier Zip protégé par mot de passe sous Windows?

Sur Mac/Linux pour compresser/décompresser des fichiers Zip protégés par mot de passe, j'utilise: Zip:

Zip -P password -r encrypted.Zip folderIWantToZip

Décompressez:

unzip -P password encrypted.Zip

Quelles sont les commandes équivalentes sous Windows sur la ligne de commande (en supposant que 7Zip a été installé)?

J'ai effectué des recherches et constaté qu'il n'est pas possible de chiffrer avec un mot de passe à l'aide de la bibliothèque Java Zip4j. De plus, Windows ne dispose pas d'une invite de commande Zip comme Mac/Linux

44
user3254893

De http://www.dotnetperls.com :

7z a secure.7z * -pSECRET

Où:

7z        : name and path of 7-Zip executable
a         : add to archive
secure.7z : name of destination archive
*         : add all files from current directory to destination archive
-pSECRET  : specify the password "SECRET"

Ouvrir :

7z x secure.7z

Ensuite, fournissez le mot de passe SECRET

Remarque: Si le mot de passe contient des espaces ou des caractères spéciaux, mettez-le entre guillemets

7z a secure.7z * -p'pa$$Word @|'
76
Gerard Rozsavolgyi

Syntaxe générale:

7z a archive_name target parameters

Vérifiez votre répertoire 7-Zip. En fonction de votre version, 7z peut être remplacé par 7za dans la syntaxe.

Paramètres:

  • - - p chiffrer et Demander pour PW.
  • - pPUT_PASSWORD_HERE (cela remplace - p) si vous souhaitez prérégler le PW sans invite.
  • - mhe = on pour masquer la structure de fichier, sinon la structure de fichier et les noms seront visibles par défaut.

Par exemple. Cela demandera un PW et cachera les structures de fichiers:

7z a archive_name target -p -mhe=on

Par exemple. Aucune invite, structure de fichier visible:

7z a archive_name target -pPUT_PASSWORD_HERE

Etc. Si vous laissez cible vide, 7z assumera * dans le répertoire actuel et les répertoires seront récurrents par défaut.

22
thebunnyrules

Pour automatiser entièrement les scripts:

Créer:

7z -mhc=on -mhe=on -pPasswordHere a %ZipDest% %WhatYouWantToZip%

Décompressez:

7z x %ZipFile% -pPasswordHere

(Selon votre choix, vous devrez peut-être: Définir le chemin = C:\Program Files\7-Zip;% Chemin%)

5
FearlessCoward

Je suis peut-être un peu en retard mais je suis en train de développer un programme capable de forcer de force une archive Zip protégée par mot de passe. J'ai d'abord essayé toutes les commandes trouvées sur Internet pour les extraire via cmd ... Mais cela n'a jamais fonctionné ... A chaque fois que j'ai essayé, la sortie de cmd indiquait que la clé était fausse, mais que c'était correct. Je pense qu'ils ont juste désactivé cette fonction dans une version actuelle.

Ce que j'ai fait pour résoudre le problème a été de télécharger une version plus ancienne de 7Zip (4.?) Et de l'utiliser pour l'extraction via cmd.

C'est la commande: "C:/Program Files (86) /old7-Zip/7z.exe" x -pKey "C:/YOURE_Zip_PATH"

La première valeur ("C:/Program Files (86) /old7-Zip/7z.exe") doit être le chemin où vous avez installé l'ancien 7Zip. Le x est pour extraire et le -p pour votre mot de passe. Assurez-vous de mettre votre mot de passe sans espace derrière le -p! La dernière valeur est votre archive Zip à extraire. La destination où le fichier Zip est extrait sera le chemin actuel de cmd. Vous pouvez le changer avec: cd YOURE_PATH

Maintenant, je laisse exécuter cette commande avec Java avec mon mot de passe test. Ensuite, je vérifie le flux de sortie d'erreur de cmd et s'il est null->, alors le mot de passe est correct!

1
JustCoding