{{tag>software archivage compression archive}} ====== 7-zip ====== Application open source sous licence **GNU LGPL**. Permet de gérer différents formats d'archives en ligne de commande. ===== Arguments / mutateurs ===== Note non exhaustive sur les options disponibles avec la ligne de commande. ==== Cibles et exclusions ==== Les cibles à sauvegarder peuvent être listées dans un fichier via l'utilisation de **@**. Les motifs d'exclusions peuvent être listés dans un fichier avec l'option **-x**. La syntaxe est la suivante: c:\> 7z a -tzip c:\archive.zip @liste_a_sauvegarder.txt -x@motifs_exclusion.txt Par défaut les fichiers utilisés en entrée (avec les options **-x** ou **-i**) doivent utiliser un jeu de caractères **UTF-8**. Pour spécifier un charset différent utiliser le mutateur **-scs**. ==== Spécificité de l'argument -r ==== Dans la plupart des cas cet argument n'est pas nécessaire. Dans l'exemple ci-dessous, sans l'argument -r, 7z compresse le dossier et tout son contenu y compris ses sous répertoires dans l'archive save.zip. c:\> 7z a -tzip c:\backup\save.zip c:\var\a_sauvegarder Si l'argument -r est spécifié, le conteneur parent est parcourus à la recherche du motif. Dans l'exemple ci-dessous, le dossier c:\var et tous les sous répertoires sont parcourus à la recherche du motif "a_sauvegarder" pour l'ajouter à l'archive: c:\> 7z a -tzip -r c:\backup\save.zip c:\var\a_sauvegarder Si des dossiers ''c:\var\tmp\a_sauvegarder'' ou ''c:\var\usr\exemple\a_sauvegarder'' existent, ils seront également ajoutés à l'archive. Le processus de parcours de l'arborescence engendré par l'option -r a un impact sur le temps de la sauvegarde. ^ mutateur ^ Description | | -r | La récursivité est activée. les motifs décrits sont recherchés dans le répertoire et les sous répertoires. | | -r- | Option par défaut. La récursivité n'est pas active. | | -r0 | La récursivité est active seulement pour les chemins incluant des jokers(wilcards). | A propos des motifs: * Le caractère **\** à la fin d'un chemin décrit forcément un dossier. * Sans le caractère **\** en terminaison, le chemin peut désigner un dossier ou un fichier. * Les dossiers comportant des espaces doivent être placés entre guillemets. L'utilisation de l'argument -r prend tout son sens lorsqu'on souhaite par exemple sauvegarder un type particulier de fichier: c:\> 7z a -tzip -r c:\backup\sources.zip c:\dev\*.c c:\dev\*.h c:\dev\*.cpp Dans cet exemple, tous les fichiers d'extensions *.c, *.h, *.cpp seront archivés. ===== Exemples ===== Rechercher dans l'archive backup.zip.001 tous les fichiers ou dossiers contenant le mot 'choix': 7z l backup.zip.001 | grep -i choix Extraire un fichier de l'archive (sans l'arborescence) dans le dossier /tmp 7z e -o/tmp backup.zip.001 'path/to/file/Choix menus.pdf' ===== Références ===== * https://superuser.com/questions/1194710/how-do-i-disable-7-zip-directory-scan-for-directories-which-are-not-meant-to-be