• Script de compression 7zip

    Suite à mon précédent article sur le script de compression zip, j'ai décidé d'améliorer celui-ci en abandonnant la compression zip au détriment de 7zip.

    Pour cela, j'ai crée 2 scripts, un qui n'intègre pas de mot de passe sur les archives et un qui intègre un mot de passe sur celles-ci.

    Télécharger « Script compression 7zip »

    Télécharger « Script compression 7zip (avec mot de passe) »

    Télécharger « Codes erreurs 7zip »

    Codes de retour obtenus ici : « exit_codes.htm »

    Pour commencer, j'ai crée un fichier "codes_erreurs_7zip.txt" dans /home/mickael/.scripts/7zip, fichier qui me donnera les codes de retour lors des archivages.

     

    Script de compression 7zip

     (cliquer sur l'image pour l'agrandir)

     

    Script de compression 7zip

     (cliquer sur l'image pour l'agrandir)

     

    Comme toujours, le script fonctionne avec zenity pour afficher les boîtes de dialogue.

    Afin que mon script se lance avec un clic-droit de la souris sous Linuxmint j'ai placé mon script dans :

    /home/mickael/.config/caja/scripts (si le dossier scripts n'existe pas, créez le).

     

    Script de compression 7zip

     (cliquer sur l'image pour l'agrandir)

     

    Ensuite faire un clic-droit sur le script, aller dans "Permissions" et dans "Exécution" et cocher la case "Autoriser l'éxécution du fichier comme un programme"

     

    Script de compression 7zip

     (cliquer sur l'image pour l'agrandir)

     

    Fonctionnement du script.

    Pour archiver des fichiers ou des dossiers, je sélectionne ceux-ci, je fais un clic-droit et  je sélectionne "Scripts" puis "7zip".

     

    Script de compression 7zip

     (cliquer sur l'image pour l'agrandir)

     

    A ce moment-là une boite de dialogue va s'ouvrir pour me demander de choisir un nom pour cette archive.

     

    Script de compression 7zip

     (cliquer sur l'image pour l'agrandir)


     Toute action sur le bouton "Annuler" permettant de sortir du script.

     

    Script de compression 7zip

     (cliquer sur l'image pour l'agrandir)

     

     

    Script de compression 7zip

      (cliquer sur l'image pour l'agrandir)

     

    Si aucun nom est renseigné et que l'on clique sur "Valider", alors une fenêtre d'avertissement s'ouvre pour nous prévenir que le champ était vide.

    Dans ce cas là, cliquer sur valider pour revenir à la boite de dialogue permettant de choisir un nom pour l'archive.

    PS : cette fonction est insérée dans une boucle, c'est à dire que tant que le champ sera vide, la fonction reviendra toujours à "Entrer le nom de l'archive"

    Toute action sur le bouton "Annuler" permettant toujours de sortir du script.

     

    Script de compression 7zip

     (cliquer sur l'image pour l'agrandir)

     

    Script de compression 7zip

     (cliquer sur l'image pour l'agrandir)

     

    Pour sortir de la boucle, je renseigne un nom pour l'archive et je clique sur valider.

    PS : si le nom existe déjà dans la destination, les fichiers/dossiers viendront s'ajouter a ceux déjà présents dans l'archive.

     

    Script de compression 7zip

     (cliquer sur l'image pour l'agrandir)

     

    A ce moment-là  une nouvelle fenêtre va s'ouvrir pour me demander de choisir le type de compression que je souhaite choisir pour cette archive.

    Si aucun choix de compression est effectué et que l'on clique sur "Valider", alors une fenêtre d'avertissement s'ouvre pour nous prévenir que nous n'avons pas fait de choix.

    PS : cette fonction est également insérée dans une boucle, c'est à dire que tant que aucun choix de compression ne sera choisi, la fonction reviendra toujours à "Choisir un type de compression"

     Toute action sur le bouton "Annuler" permettant toujours de sortir du script.

     

    Script de compression 7zip

     (cliquer sur l'image pour l'agrandir)

     

    Script de compression 7zip

     (cliquer sur l'image pour l'agrandir)

     

    Je choisis donc ici le format de compression rapide et je valide mon choix.

     

    Script de compression 7zip

     (cliquer sur l'image pour l'agrandir)

     

    PS : Dans la version avec mot de passe, après le choix du type de compression, une fenêtre supplémentaire s'affiche afin de renseigner votre mot passe pour l'archive, le reste du script étant le même pour les 2 versions.

    Cette fonction est également insérée dans une boucle, c'est à dire que tant que aucun mot de passe ne sera inséré, la fonction reviendra toujours à "Entrer un mot de passe"

    Toute action sur le bouton "Annuler" permettant toujours de sortir du script.

     

    Script de compression 7zip

     (cliquer sur l'image pour l'agrandir)

     

     Enfin, je choisis la destination de l'archive ( ici pour l'exemple dans le même répertoire que les fichiers) et je clique sur "Valider".

     

    Script de compression 7zip

     (cliquer sur l'image pour l'agrandir)

     

    Une fois la compression terminée, on peut voir que l'archive "archive.7z" a bien été crée.

    Une fenêtre de résultat s'affiche également avec les codes de retour inscrits dans "codes_erreurs_7zip.txt" (ici aucune erreur n'a été détectée lors de l'archivage).

    Ce résultat est obtenu grâce à la fonction

    status=$?

    ligne=$(grep $status /home/mickael/.scripts/7zip/code_erreurs_7zip.txt)

    echo $ligne | zenity --text-info --title "Résultat"

     

    Script de compression 7zip

     (cliquer sur l'image pour l'agrandir)

     

    Autre exemple de code de retour...

     

    Script de compression 7zip

     (cliquer sur l'image pour l'agrandir)

     

    En ouvrant l'archive crée, je peux voir que mes 3 fichiers sélectionnés sont bien présents dans l'archive.

     

    Script de compression 7zip

     (cliquer sur l'image pour l'agrandir)

     

    L'archivage des dossiers fonctionne sur le même principe que les fichiers (boucles,codes de retour...).

     

    Script de compression 7zip

     (cliquer sur l'image pour l'agrandir)

     

    Script de compression 7zip

     (cliquer sur l'image pour l'agrandir)

     

    Pour la version avec mot de passe, il vous sera bien évidemment demandé de renseigner votre mot de passe pour ouvrir l'archive.

     

    Script de compression 7zip

      (cliquer sur l'image pour l'agrandir)

     

    Je voulais intégrer une barre de progression pour afficher l'avancement de l'archivage mais le soucis est lorsque je clique sur "Annuler" cela me ferme bien la barre de progression mais le processus lui continue.

    Visiblement cela vient d'un "bug" de zenity.

    J'essaierai également de réunir les 2 scripts en intégrant une fonction qui donnera le choix de mettre un mot de passe ou non ( toute aide sur l'intégration de cette fonction sera la bienvenue...)

    N'hésitez pas à me faire part de vos remarques et éventuelles améliorations à apporter à ce script...

    « Script de compression zipUtilisation du moniteur système HTOP »

  • Commentaires

    Aucun commentaire pour le moment

    Suivre le flux RSS des commentaires


    Ajouter un commentaire

    Nom / Pseudo :

    E-mail (facultatif) :

    Site Web (facultatif) :

    Commentaire :