59 votes

Extraire un certain fichier d'une archive avec 7-Zip à partir de la ligne de commande

Si j'ai des archives, par exemple, some.zip qui contient un ou plusieurs fichiers, comment puis-je extraire un seul fichier (je connais le nom du fichier) avec 7-Zip à partir de la ligne de commande sous Windows ?

57voto

zionyx Points 609

Dans le prolongement de Réponse de surfasb ajoutez un drapeau -r à la fin pour la récursivité :

7z e [archive.zip] -o[outputdir] [fileFilter] -r

Prise en charge de plusieurs filtres :

7z e [archive.zip] -o[outputdir] [fileFilter_1] [fileFilter_2] -r

Exemple :

Ligne de commande pour filtres multiples :

7z e archive.zip -o outputdir *.xml *.dll -r

PS : J'utilise 7za.exe au lieu de 7z.exe. C'est la commande que j'utilise dans mon script :

7za.exe x archive.zip -o outputdir *.xml *.pdb *.exe *.ocx *.dll -r

24voto

Thad Points 725

Il suffit d'ajouter le nom du fichier à la fin.

7z e [archive.zip] -o [outputdir] [fileFilter]

9voto

Todd Partridge Points 295

Si vous regardez le page de manuel pour 7z, vous trouverez que la commande suivante peut être utilisée pour extraire un fichier d'une archive 7z (bien que l'utilisation du chemin d'accès soit absente de la page de manuel) :

7z x <archive> <path to file>

Exemples :

7z x backup.7z *.html
7z x backup.7z folderwithin/myfile.html

Vous pouvez également utiliser e .

En version en ligne de commande guide de l'utilisateur semble contenir plus d'informations sur l'utilisation réelle.

4voto

Il convient de noter que 7z a la syntaxe suivante (observez les espaces et les guillemets qui entourent l'élément "-oMy Folder" pour définir le nom du dossier de sortie, m'a pris des heures pour le découvrir, car je l'avais fait à l'origine - de la mauvaise manière : * -o "My Folder" *) :

7z e "my zip.zip" "-oMy Folder" *.jpg "all of these.*" -r

1voto

Dave Hein Points 101

J'ai constaté que sur la ligne de commande zsh, avec 7-zip 16.06, je devais mettre des guillemets doubles autour de l'argument du filtre joker. Par exemple, ceci n'a pas trouver les fichiers PDF à extraire :

7z e "archive has pdf in subdirectory.zip" -r *.pdf

mais en citant le filtre joker a fait trouver et extraire le fichier PDF qui se trouvait dans un sous-répertoire de l'archive zip, comme ceci :

7z e "archive has pdf in subdirectory.zip" -r "*.pdf"

SistemesEz.com

SystemesEZ est une communauté de sysadmins où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres sysadmins, poser vos propres questions ou résoudre celles des autres.

Powered by:

X