Salut à tous.
J'ai envi de me créer un script de compression/décompression grâce au bash et zenity.
Pour l'instant je me suis limité au format 7-Zip étant donné que j'arrive pas à avancer, c'est pourquoi je vous demande votre aide.
En gros pour l'instant ça donne ça :
Au lancement.
Ce qu'on veut compresser.
Répertoire de destination.
Nom de l'archive.
Le script :
Maintenant mon problème :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18 #!/bin/sh tetsuAction=`zenity --list --title="Que voulez-vous faire ?" --column="Action" "Compression" "Decompression"` if [ "$tetsuAction" = "Compression" ]; then tetsuSrc=`zenity --file-selection --multiple --separator=" "` tetsuDest=`zenity --file-selection --directory` tetsuFname=`zenity --entry --text="Entrez un nom pour l'archive"` 7z a -mx=9 -m0=lzma2 ${tetsuDest}/${tetsuFname} ${tetsuSrc} #roxterm -e 7z a -mx=9 -m0=lzma2 ${tetsuDest}/${tetsuFname} ${tetsuSrc} elif [ "$tetsuAction" = "Decompression" ]; then zenity --info --text="Decomp" else exit fi
Ça fonctionne seulement si je sélectionne 1 seul fichier et il ne doit y avoir d'espace ni sur le nom, ni dans les répertoires.
Je pense que c'est une histoire de guillemet mais tout ce que j'ai pu tester jusqu'ici ne marche pas.
Pour info voici à quoi ressemble la ligne de commande pour compresser avec 7-Zip :
1 fichier :
Plusieurs fichiers :
Code : Sélectionner tout - Visualiser dans une fenêtre à part 7z a -mx=9 -m0=lzma2 "/home/user/destination.7z" "/home/user/fichier_a_compresser.ext"
Merci par avance.
Code : Sélectionner tout - Visualiser dans une fenêtre à part 7z a -mx=9 -m0=lzma2 "/home/user/destination.7z" "/home/user/fichier_a_compresser1.ext" "/home/user/fichier_a_compresser2.ext" "/home/user/fichier_a_compresser3.ext"
Partager