Topo sur 7-Zip  


7-Zip est une compresseur-décompresseur, gratuit, supportant plusieurs format dont le Zip (comme son nom le prête à penser), le Rar, l'Arj, le cab, le z, le gz pour ne citer que les plus répendus. Suite à plusieurs demandes, je vous ai fait un petit topo.

On peut le télécharge à www.7-zip.org . Si jamais il change de site, vous le trouverez facilement avec Google. Pour les initiés, sachez qu'il faut zipper un fichier pour valider les paramètres de compression et passez à la suite le mode commande.

Installation et paramétrage

L'installation est très simple. Si vous pouvez changer le répertoire d'installation et le tapant dans la fenêtre ou en parcourant votre arborescence (Browse). Puis cliquez sur install, next et à la fin Finish.

Cela fait, lancez le gestionnaire de 7-zip (7-Zip File Manager). Allez dans outils(tools) options (cf image au-dessus). Dans l'onglet Language, choisissez French(Français), appliquer et OK.

Maintenant le menu est en français, ce sera sûrement plus simple pour certains. Retournez dans Outils/Option, dans l'onglet systeme, vous pouvez tout cochez, sauf Winrar, si vous l'avez.

Vous pouvez changer d'autres option comme celle du menu contextuel (clic-droit lorsque) vous sélectionnerez des fichiers (dans l'explorateur, par exemple) ou l'éditeur pour visualiser le fichier dans l'archive (par trop recommandé sauf pour les fichiers texte). Mais je franchement, rien de particulier, généralement, on n'y modifie rien.

A part de spécifier que vous pouvez changer l'affichage de détail en liste, je vous laisse parcourir le menu pour voir les possibilités.

Sortez du gestionnaire puis ouvrez l'explorateur. Choisissez un petit fichier, faites un clic-droit dessus puis ajouter à l'archive. Puis format compression choisissez Zip (voir image, positionner la souris dessus pour l'agrandir et servez-vous de la molette pour vous déplacer). Il vaut mieux utilisé ce format car il est plus répendu. Gardez le 7z pour vos archives personnelles, celle que vous ne comptez pas partager. Puis en niveau de compression choisissez Ultra.

Vous êtes obligé de valider pour mémoriser les paramètres. Cela compressera votre fichier pour rien (effacez le zip après) mais vaut mieux perdre quelques secondes maintenant plutôt qu'oublier de le faire lorsque vous serez pressé.

Le mode commande

Ci-dessous un exemple, celui que j'utilise de temps en temps. Il n'est pas très recherché (je n'ai pas eu trop le temps de m'y pencher) mais il a l'avantage de fonctionner et de ne pas être compliqué. Donc bien pour servir d'exemple, ou vous donner des idées.Le télécharger

Attention ne fonctionne pas avec les sous-sous-répertoires. Dans ces cas-là, j'utilise des fichiers liste.


@echo off
cls
rem pour vous positionner sur un répertoire utilisez l'exemple ci-dessous. Si vous avez peur de vous tromper, 
rem cochez dans l'explorateur Affichage/Barre d'outils/Barre d'adresse (sous Windows 9x/ME et 2000), 
rem positionnez-vous et faites un copier coller
rem C:
rem CD \TOTO\TXT
set path_tmp=%path%
rem dans la ligne suivant à la place de D:\WIN_appl\7-zip mettre son chemin de 7-zip
set path=%path%;D:\WIN_appl\7-zip
IF (%1)==() GOTO :Sauve01
IF NOT EXIST %1\nul GOTO :Sauve01
rem
rem utiliser la ligne suivante pour tester (les fichiers d'affichent seulement) et mettre en commentaire l'autre
rem 
rem FOR /F %%R IN ('dir /B/A:D') DO (FOR %%e IN (%1 %2 %3 %4 %5) DO echo.%%R\*.%%e)
FOR /F %%R IN ('dir /B/A:D') DO (FOR %%e IN (%1 %2 %3 %4 %5 %6) DO 7z u -tzip save_files.zip %%R\*.%%e)
FOR %%e IN (%1 %2 %3 %4 %5 %6) DO 7z u -tzip save_files.zip *.%%e
GOTO :Fin
:Sauve01
rem utiliser la ligne suivante pour tester (les fichiers d'affichent seulement) et mettre en commentaire les 2 autres
rem FOR /F %%D IN ('dir /B/A:D') DO (FOR %%e IN (txt html css js) DO echo.%%D\*.%%e)
rem
rem sauvegarde dans sous-répertoires les fichiers
FOR /F %%R IN ('dir /B/A:D') DO (FOR %%e IN (txt html css js php py) DO 7z u -tzip save_files.zip %%R\*.%%e)
rem sauvegarde dans le répertoire, d'où est lancé le .bat ou choisi au début par le CD, les fichiers
FOR %%e IN (txt html css js php py) DO 7z u -tzip save_files.zip *.%%e
:Fin
set path=%path_tmp%
set path_tmp=
rem utiliser la ligne suivante pour tester le path
rem path
@echo on

Commentaires

Pour créer le fichier de commande, clic droit dans un répertoire, nouveau, fichier texte seulement. A la place de Nouveau Texte seulement.txt, pour Nouveau Texte seulement mettez le nom que vous désirez et remplacez .txt mettez .bat, confirmez.

Pour l'exécution simple double-clic dessus sinon, il faut passer en invite de commande (dans ce cas, je vous conseille de jeter un oeil sur la page Invite de Commande Ms-Dos directement au sous-répertoire).

En invite de commande on peut mettre des paramètres différents de ceux du batch. ex : nom_fichier_batch txt doc sauvegardera tous les .txt et les .doc et qu'eux. Malgré que le batch prévoye de sauvegarder les txt doc xls pdf. Cela évite de créer des batch pour des sauvegardes ponctuelles.

Détail des lignes

C'est déjà commenté dans le batch mais pour ceux qui n'auraient pas trop de notions MS-DOS, voici des explications plus pécises.

- @echo off empêche l'affichage des lignes exécutées, @echo on le rétabli.

- S'il y a rem en début de ligne, celle-ci sera considérée comme un commentaire, et ne sera pas exécutée.

- les lignes C: et CD \TOTO\TXT ne sont utilent que si votre fichier .bat n'est pas dans le répertoire principal, càd dans le répertoire à sauvegarder ou au-dessus de ceux à sauvegarder :
attention aux chemins relatifs. Pour connaître le chemin réel, cochez dans l'explorateur Affichage/Barre d'outils/Barre d'adresse (sous Windows 9x/ME et 2000, peut-être aussi sous XP), positionnez-vous et faites un copier coller. Si vous avez C:\TOTO\TXT : dans la 1ère ligne mettez C: et le reste (\TOTO\TXT) sur la 2ème ligne

(comme dans l'exemple).

- set path_tmp=%path% sert à sauvegarder les chemins d'environnements par défaut du MS-DOS.
- set path=%path_tmp% rétablit les chemins d'environnements par défaut du MS-DOS.
- set path_tmp= annule la variable lorsqu'elle n'est plus utile.
- set path=%path%;D:\WIN_appl\7-zip ajoute aux chemins d'environnements par défaut du MS-DOS celui de 7-zip. Bien sûr à la place de D:\WIN_appl\7-zip mettez le votre. Si vous ne le connaissez pas faites un clic-droit sur le raccourci de 7-Zip File Manager, vous le trouverez dans la fenêtre Démarrez dans :.

- IF (%1)==() GOTO :Sauve01 sert à sauter tout ce qu'il y a jusqu'à l'étiquette Sauve01, dans le cas où on n'a pas saisi de paramètre en invite de commande
- :Sauve01 étiquette Sauve01.

- GOTO :Fin sert à sauter tout ce qu'il y a jusqu'à l'étiquette Fin dans le cas où on a saisi des paramètres en invite de commande
- :Finétiquette Fin.

- FOR /F %%R IN ('dir /B/A:D') DO (FOR %%e IN (txt html css js php py) DO 7z u -tzip save_files.zip %%R\*.%%e)Ici c'est un peu compliqué car il y a 2 FOR ...IN ... DO ... imbriqué

- FOR %%e IN (txt html css js php py) DO 7z u -tzip save_files.zip *.%%e signifie que la commande 7z u -tzip save_files.zip *.%%e va être exécutée pour chaque variation de %%e donc pour txt (7z u -tzip save_files.zip *.txt), puis html, .... et enfin py.

- FOR /F %%R IN ('dir /B/A:D') DO : la commande dir /B/A:D affiche les nom des sous-repertoires (par rapport à l'endroit où est exécuté cette commande). Donc, pour chaque sous-répertoire ce qui suit le DO va être exécuté.

- FOR /F %%R IN ('dir /B/A:D') DO (FOR %%e IN (%1 %2 %3 %4 %5 %6) DO 7z u -tzip save_files.zip %%R\*.%%e) %1, %2 ... sont, dans l'ordre, les paramètres que vous avez saisi après le nom du batch, en invite de commande. Il est donc prévu ici 6 paramètres. Si le %chiffre ne correspond à rien, çà s'arrête.

J'espère avoir été assez clair. Puis, vous pouvez taper help for en invite Ms-Dos, pour avoir de l'aide sur for.