Contenu | Rechercher | Menus

Annonce

Si vous rencontrez des soucis à rester connecté sur le forum (ou si vous avez perdu votre mot de passe) déconnectez-vous et reconnectez-vous depuis cette page, en cochant la case "Me connecter automatiquement lors de mes prochaines visites".
Test de l'ISO d'Ubuntu francophone : nous avons besoin de testeurs pour la version francophone d'Ubuntu 14.04. Liens et informations ici.

#1 Le 19/02/2008, à 12:50

Peat.hagore

Demande amelioration de Script. juste histoire de le finir

Bonjour a toutes et tous

Voila, je ne connais strictement rien en programmation donc tout ce qui est script  est assez loin de moi.
lol ...mais j'ai fait pour vous quelques recherches.

je trouve son utilisation via le gestionnaire de fichier THUNAR
assez genial,
c'est vraiment bien pratique, c'est rapide et  bien souvent, on peut se passer d'un soft graphique.


Voila, j'aimerai un Script permettant de renommer en masse des fichiers
( videos, musiques photos documents etc...)
se trouvant dans un dossier.

J'ai trouvé ce script
c'est celui de azimuth024
voir ce post

#!/bin/bash
nom="Videos de vacances 2007"
let "indice=1"
for fichier in *.MOV
do
         if [ -f "$fichier" ]; then
            extension=${fichier##*.}
            echo "$fichier" "=>" "$nom-$indice.$extension"
            mv "$fichier" "$nom-"`printf "%02d" $indice`".$extension"
            let "indice+=1"
        fi
done

je voudrais savoir si quelqu'un pouvait l'ameliorer.
a savoir y mettre une
Boîte de dialogue de saisie zenity
permettant ainsi de  donner le nom que l'on veut au dossier, donc a tout son contenu
( dans l'exemple du script "Videos de vacances 2007", ca craint pour des photos lol )
(apres garder l'idée du "nom donné par l'utilisateur"+ 1 ...2..3 etc...)

Puis pour etre sur, que l'action est en cour , il serait sympa d'y rajouter une autre boite zenity mais cette fois ci:
une boîte de dialogue de barre de progression

je penses que pour un dossier assez volumineux, il est sympa de connaitre l'etat d'avancement

Voila en esperant avoir été assez clair
et en esperant egalement vous avoir donné assez d'info

Merci a vous et bonne journée

amicalement
Peat.hagore

Dernière modification par Peat.hagore (Le 25/02/2008, à 19:52)

Hors ligne

#2 Le 19/02/2008, à 13:25

yurek

Re : Demande amelioration de Script. juste histoire de le finir

il existe krename mais tu veux absolument un script?


http://doc.ubuntu-fr.org/installation/debutants
http://doc.ubuntu-fr.org/diagnostic
http://doc.ubuntu-fr.org/diagnostic_outils
http://doc.ubuntu-fr.org/reflexe_ubunteros

Hors ligne

#3 Le 19/02/2008, à 13:32

xelator

Re : Demande amelioration de Script. juste histoire de le finir

à  la place de :
nom="Videos de vacances 2007"
tu mets
nom=`zenity --entry --title="titre" --text="text"`

pour la barre de progression je peux faire une barre bidon (comme au chargement du live cd d'ubuntu avec la vrai barre de chargement.) mais une vraie je sais pas.

Hors ligne

#4 Le 19/02/2008, à 19:24

Peat.hagore

Re : Demande amelioration de Script. juste histoire de le finir

Merci a vous

En ce qui concerne krename
deja...a mon gout.....il y a le K en trops lol

Plus serieusement
Je travaille sous Fluxbox (voir ma signature)
Et comme gestionnaire de dossiers j'ai prisTHUNAR (qui est vraiment sympa)
Sous Fluxbox, on ne peut rien mettre sur le bureau ( sauf technique speciale)
Tout se fait avec des clics droits ou gauches, de plus il sagit d'un gestionnaire de fenetre extremement minimaliste ( ce qui me plait beaucoup)
Et l'avantage de le coupler a Thunar c'est que l'on peut rester dans cette idée:
un clic->une action
( j'ai deja pas mal de scripts .;et au fur et a mesure les idées me viennent lol )

Mon but est au maximun d'eviter d'utiliser des softs graphiques, sans pour autant y perdre en accesibilitée.
( sans egalement tout faire en console)

Donc voila..pour l'idée principale.



@xelator
le rajout de zenity de fonctionne pas
(peut etre ais je mal...configuré thunar)

En tous les cas Merci a vous
et...
je continue mes recherches et je vous tiens au courant

Dernière modification par Peat.hagore (Le 19/02/2008, à 19:26)

Hors ligne

#5 Le 19/02/2008, à 19:33

xelator

Re : Demande amelioration de Script. juste histoire de le finir

tu as installé zenity ? (il est peut être installé par défaut ...)
en tout cas ça devrais bien marcher ...

xelator@X31:~$ nom=`zenity --entry --title="titre" --text="text"`

(zenity:16850): Gtk-WARNING **: Theme directory scalable/places/22 of theme black-white_2-Gloss has no size field

xelator@X31:~$ echo $nom
mon texte
xelator@X31:~$

Hors ligne

#6 Le 19/02/2008, à 19:48

Peat.hagore

Re : Demande amelioration de Script. juste histoire de le finir

tout marche dans le terminal, pas de probleme
( j'aurai du , il est vrai precisé)

meme le script de depart ne marche pas sous thunar.
ou du moins.
j'ai remplacé la ligne:

for fichier in *.MOV

par

for fichier in *.png

et j'ai essayé dans un dossier contenant des images png.

j'ai meme remplacé

nom="Videos de vacances 2007"

par ton code zenity
mais sans succé lol

voila ou j'en suis smile

Hors ligne

#7 Le 19/02/2008, à 20:05

xelator

Re : Demande amelioration de Script. juste histoire de le finir

"et j'ai essayé dans un dossier contenant des images png."

comment cela ?
sous thunar je pense qu'il faut mettre un paramètre qui indique l'emplacement du dossier car le script est lancé dans ton home par thunar je pense et pas dans ton dossier sélectionné.
Ce serai un truc genre : /home/xxx/ton_script.sh %x
http://www.imagup.info/images/05/1188831928_Screenshot.png
ou alors %f ou %d



et après le prendre en compte dans le script ...
après #!/bin/bash
rajoute :
cd "%1"

Dernière modification par xelator (Le 19/02/2008, à 20:14)

Hors ligne

#8 Le 19/02/2008, à 20:06

xelator

Re : Demande amelioration de Script. juste histoire de le finir

et quand tu dis que ça marche pas c'est vague ...
Le boite de dialogue te demande le nom ou même pas ?

Hors ligne

#9 Le 19/02/2008, à 21:54

Peat.hagore

Re : Demande amelioration de Script. juste histoire de le finir

C'est bon tout marche roll ou presque

En fait pour pouvoir renommer tout un dossier en masse, il faut se mettre DANS le dossier et clicker sur une image.

Moi je pensais qu'il fallait clicker SUR le dossier contenant les futurs  images a convertir.

( je ne sais pas si je suis clair?)

Bref ......ca marche et meme a travers un partage Samba.

Le seul hic c'est que j'ai un dossier de 230 MO a travers un partage samba
mais avec celui ci, ca ne marche pas..et je ne sais pas pourquoi.
Peut etre la taille trops grande?

Et effectivement dans ce cas, es ce que tu pourrais essayé de mettre une barre de progression, pour visualiser l'avancement.

en attendant
voici le script:

#!/bin/bash
cd "%1"
nom=`zenity --entry --title="Renommer en MASSE " --text="Pour renommer l'ensemble du dossier d'un seul nom, veuillez rentrer un nouveau titre"`
let "indice=1"
for fichier in *.png *.jpg *.JPG
do
         if [ -f "$fichier" ]; then
            extension=${fichier##*.}
            echo "$fichier" "=>" "$nom-$indice.$extension"
            mv "$fichier" "$nom-"`printf "%02d" $indice`".$extension"
            let "indice+=1"
        fi
done

bon, apres pour les formats de fichier c'est suivant le cas de chacun

et vraiment Merci a toi, c'est tres sympa

Dernière modification par Peat.hagore (Le 19/02/2008, à 21:56)

Hors ligne

#10 Le 19/02/2008, à 23:40

yurek

Re : Demande amelioration de Script. juste histoire de le finir

ca marche pas chez moi, ca supprime même des images (!!!) alors j'ai pris la liberté d'étoffer un peu les fonctionnalité :
corriger le bug qui supprime des images
ajouter une boucle pour recommencer,
fonctionnalité pour déplacer les fichiers images tout en les renommant renommer
barre de progression utile pour visualiser le temp restant avec une barre de progression (merci pipou)
A venir:
suppression de la selection du dossier ou se trouve les fichiers
ajout des formats images
ajout des formats vidéos
ajout d'une barre de progressions pour le déplacement des fichiers dans le cas d'un déplacement des fichiers
Version :
            1         .             3          .             0         .                  0
nouvelle interface. ajout de fonction. amélioration      . correction de bugs

#!/bin/bash


function repeat 
{
zenity --question --text="Voulez-vous recommencer ?"
if [ "$?" = 0 ] ; then   #### si valider alors 
	REPEAT=0
	else REPEAT=1
	break
fi
break
}
function erreur
{
if [ "$?" != 0 ]; then  
	zenity --error --title="Une erreur est survenue" --text="\nAucune selection "
	repeat
fi
if [ "${PIPESTATUS[0]}" = "0" ]; then
	repeat
fi
}
function annuler
{
	if [ "${PIPESTATUS[0]}" != "0" ]; then
	repeat
	fi
}
function mv_rename_all {
	INDICE=1	
	for FICHIERS in *.jpg *.JPG *.png *.PNG
	do
		EXTENSION=${FICHIERS##*.}
		RN="$DOSSIER_des/$NOM-"`printf "%02d" $INDICE`".$EXTENSION"
		while  [ -f "$RN" ]
		do
		INDICE_sauv=$INDICE
		INDICE=$((INDICE+1));
		RN="$DOSSIER_des/$NOM-"`printf "%02d" $INDICE`".$EXTENSION"
		done
		echo "$FICHIERS => $NOM-`printf "%02d" $INDICE`.$EXTENSION"
		mv "$FICHIERS" "$RN"
		INDICE=$INDICE_sauv
		echo $INDICE
	done
}
function mv_rename_all_type {
	for FICHIERS in `cat /tmp/index.txt | sed 's/ /\n/g' | cut -d"." -f2 | sort -u | sed 's/^/*./' | sed 'N;s/\n/ /g'| sed 'N;s/\n/ /g'|sed 'N;s/\n/ /g'`
	do
		EXTENSION=${FICHIERS##*.}
 		RN="$DOSSIER_des/$NOM-"`printf "%02d" $INDICE`".$EXTENSION"
        	while  [ -f "$RN" ]
		do
		INDICE_sauv=$INDICE
        	INDICE=$((INDICE+1));
 		RN="$DOSSIER_des/$NOM-"`printf "%02d" $INDICE`".$EXTENSION"
		done
        	mv "$FICHIERS" "$RN"
		INDICE=$INDICE_sauv
		echo $INDICE

	done
}

function mv_rename_chose {
	while (true)
	do
		MV="`cat /tmp/index.txt|head -n1`"
		if [ -n "$MV" ] ; then
			MV="`cat /tmp/index.txt|head -n1`"
			EXTENSION=${MV##*.}
			RN="$DOSSIER_des/$NOM-"`printf "%02d" $INDICE`".$EXTENSION"
		if  [ -f "$RN" ]; then
			INDICE=$((INDICE+1));
		else
			mv "$MV" "$RN"
			sed '1d' -i /tmp/index.txt ;
			INDICE=$((INDICE+1));
		echo $INDICE
		fi
		else break
		fi
	done	
}
function deplacer {
	echo "$ACT" | grep "Déplacer dans un autre dossier" >/dev/null
	if [ "$?" = 0 ] ; then
		DOSSIER_des=`zenity --file-selection --directory --title="Sélectionnez le dossier de destination"`
		erreur
	else 
		DOSSIER_des=$DOSSIER
	fi
}

function dossier {
	DOSSIER=`zenity --file-selection --directory --title="Sélectionnez le dossier" --text="Selection du dossier qui contient les fichiers à renommer"`
	erreur
	cd $DOSSIER	
	deplacer
}	
function dossier_fichier {
	DOSSIER=`cat /tmp/index.txt |head -n1 | sed 's,/[^/]\+$,,'`
	cd $DOSSIER
	deplacer
}
function selection_fichier {
	SELECT=`zenity --file-selection --multiple --separator="\n" --title="Sélectionnez les types de formats de fichiers"`
	erreur
	echo -e $SELECT >/tmp/index.txt
} 
zenity --info --title='A Propos' --text="Ce script se charge de renomer des fichiers à la chaines. \
\n
version 1.3.0.1."
REPEAT=0
while [ $REPEAT -eq 0 ] 
do
REPEAT=0
	while [ $REPEAT -eq 0 ] 
	do
	ACT=$(zenity --list --checklist --width=500 --height=250 \
	  --title="Choisissez" \
	 --column="Choisir" --column="Options" \
	FALSE   "Déplacer dans un autre dossier" \
	FALSE   "Renomer tous les fichiers images" \
	FALSE	"Avancé : Renomer tous les types de formats de fichier que je choisis" \
	FALSE   "Renomer les fichiers que je choisis"
	)
	annuler
	NOM=`zenity --entry --entry-text="image" --title="Renommer les fichiers" --text="Veuillez rentrer un nouveau nom commun à tous les images"`
	erreur;
	echo "$ACT" | grep "Renomer tous les fichiers images" >/dev/null
	if [ "$?" = 0 ] ; then
		dossier
		mv_rename_all | zenity --progress \
		  --title="Renomage en cours" \
		  --text="Renomage..." \
		  --percentage=0
	fi
	echo "$ACT" | grep "Avancé : Renomer tous les types de formats de fichier que je choisis" >/dev/null
	if [ "$?" = 0 ] ; then

		selection_fichier
		dossier_fichier
		mv_rename_all_type | zenity --progress \
		  --title="Renomage en cours" \
		  --text="Renomage..." \
		  --percentage=0
	fi
	echo "$ACT" | grep "Renomer les fichiers que je choisis" >/dev/null
	if [ "$?" = 0 ] ; then
		selection_fichier
		dossier_fichier
		INDICE=1;
		mv_rename_chose | zenity --progress \
		 --title="Renomage en cours" \
		 --text="Renomage..." \
		 --percentage=0
	fi
	repeat
	done
done
exit 0

Dernière modification par yurek (Le 12/03/2008, à 01:06)


http://doc.ubuntu-fr.org/installation/debutants
http://doc.ubuntu-fr.org/diagnostic
http://doc.ubuntu-fr.org/diagnostic_outils
http://doc.ubuntu-fr.org/reflexe_ubunteros

Hors ligne

#11 Le 20/02/2008, à 10:05

Peat.hagore

Re : Demande amelioration de Script. juste histoire de le finir

@yurek
Wahou, c'est le modele Haut de Gamme wink
Il est Sympa et completement different du mien, j'essaye de comprendre les techniques pour faires des scripts et ton script....Bouhhh il me reste beaucoup a apprendre lol
lol pour le dechiffrer.
----
Pour revenir a mon petit script, j'essaye toujour de mettre une
Boà®te de dialogue de barre de progression
commme indiqué dans le manuel de zenity

leur exemple est le suivant, mais je n'y arrive pas.

Boà®te de dialogue de barre de progression

    * Manuel de Zenity

L'option --progress crée une boà®te de dialogue de barre de progression.

Zenity lit les données à  partir de l'entrée standard, ligne par ligne. Si une ligne commence par '#', le texte est mis à  jour avec le texte de cette ligne. Si une ligne contient seulement un nombre, le pourcentage est mis à  jour avec ce nombre.

Options de la boà®te de dialogue de barre de progression :

--text=texte

    Spécifier le texte affiché dans la boà®te de dialogue de barre de progression.
--percentage=pourcentage

    Spécifier le pourcentage initial réglé dans la boà®te de dialogue de barre de progression.
--auto-close

    Fermer la boà®te de dialogue quand la barre de progression atteint 100%.
--pulsate

    Utiliser une barre de progression discontinue jusqu'à  ce qu'un caractère EOF soit lu sur l'entrée standard.

Le script d'exemple suivant montre comment créer une boà®te de dialogue de barre de progression :

#!/bin/sh
(
echo "10" ; sleep 1
echo "# Mise à  jour des journaux de mail" ; sleep 1
echo "20" ; sleep 1
echo "# Remise à  zéro des paramètres" ; sleep 1
echo "50" ; sleep 1
echo "Cette ligne est ignorée" ; sleep 1
echo "75" ; sleep 1
echo "# Redémarrage du système" ; sleep 1
echo "100" ; sleep 1
) |
zenity --progress \
  --title="Mise à  jour des journaux système" \
  --text="Analyse des journaux de mail..." \
  --percentage=0

if [ "$?" = -1 ] ; then
  zenity --error \
    --text="Mise à  jour annulée."
fi

j'ai essayé un peut dans tous les sens lol
mais vraiment sans savoir ce que je faisais, en me disant:
qui sait avec un peut de chance lol

mais sans succé
Donc si vous pouviez me donner un coup de main

Merci a vous

Dernière modification par Peat.hagore (Le 20/02/2008, à 10:06)

Hors ligne

#12 Le 20/02/2008, à 15:05

yurek

Re : Demande amelioration de Script. juste histoire de le finir

voici ta solution enfin presque tu comrpendra pourquoi:

#!/bin/bash

nom=`zenity --entry --title="Renommer en MASSE " --text="Pour renommer l'ensemble du dossier d'un seul nom, veuillez rentrer un nouveau titre"`
let "indice=1"
for fichier in *.png *.jpg *.JPG
do
         if [ -f "$fichier" ]; then
            extension=${fichier##*.}
            echo "$fichier" "=>" "$nom-$indice.$extension"
            mv "$fichier" "$nom-"`printf "%02d" $indice`".$extension"|
 zenity --progress \
  --title="Mise à  jour des journaux système" \
  --text="Analyse des journaux de mail..." \
  --percentage=0
if [ "$?" = -1 ] ; then
  zenity --error \
    --text="Mise à  jour annulée."
fi
            let "indice+=1"
        fi

done

je ne te cache pas que ce script supprime des fichiers si elle existe déja, il faut juste changer la condition du if comme dans mon script.


http://doc.ubuntu-fr.org/installation/debutants
http://doc.ubuntu-fr.org/diagnostic
http://doc.ubuntu-fr.org/diagnostic_outils
http://doc.ubuntu-fr.org/reflexe_ubunteros

Hors ligne

#13 Le 20/02/2008, à 15:07

yurek

Re : Demande amelioration de Script. juste histoire de le finir

ps: le script est fini.


http://doc.ubuntu-fr.org/installation/debutants
http://doc.ubuntu-fr.org/diagnostic
http://doc.ubuntu-fr.org/diagnostic_outils
http://doc.ubuntu-fr.org/reflexe_ubunteros

Hors ligne

#14 Le 20/02/2008, à 17:13

Peat.hagore

Re : Demande amelioration de Script. juste histoire de le finir

ahhh
je viens de tester ton script et en fait j'ai le meme probleme que lors de mes tests.

la premiere boite fonctionne pas de probleme
mais la  boite:
zenity -progress
Elle se lance, mais je suis obligé pour chaque photos de valider sur la touche OK
Je la vois resurgir autant de fois qu'il y a de photo et pour un dossier avec une 50° de photos...je te laisse imaginer le probleme lol:lol::lol:

Bon, je poursuis mes recherches et encore Merci a toi

Hors ligne

#15 Le 20/02/2008, à 17:20

yurek

Re : Demande amelioration de Script. juste histoire de le finir

oui  je sais c'est ca le probleme, zenity s'applique sur le mv d'une photo (c'est une boucle, il faudrait que ca s'applique a la boucle for et que tu trouve un moyen que le for donne le temp restan mais c pas possible. donc utilise mon script et repose tes neurones lol:lol::lol::lol:
Nan je rigole, si tu trouve je le met dans le script, ca l'étoffera.


http://doc.ubuntu-fr.org/installation/debutants
http://doc.ubuntu-fr.org/diagnostic
http://doc.ubuntu-fr.org/diagnostic_outils
http://doc.ubuntu-fr.org/reflexe_ubunteros

Hors ligne

#16 Le 20/02/2008, à 18:29

Peat.hagore

Re : Demande amelioration de Script. juste histoire de le finir

#!/bin/bash

nom=`zenity --entry --title="Ces fichiers seront renommés" --text="Veuillez rentrer un nouveau nom commun à  toutes ces images."`
let "indice=1"
for fichier in *.png *.jpg *.JPG
do
         if [ -f "$fichier" ]; then
            extension=${fichier##*.}
            echo "$fichier" "=>" "$nom-$indice.$extension"
            mv "$fichier" "$nom-"`printf "%02d" $indice`".$extension"|
(
echo "10" ; sleep 1
) |
 zenity --progress \
  --pulsate \
  --auto-close\
  --title="Opération en cour" \
  --text="Patience..." \
  --percentage=0
if [ "$?" = -1 ] ; then
  zenity --error \
    --text="Mise à  jour annulée."
fi
            let "indice+=1"
        fi

done

c'est Presque ca roll , la barre de progression fonctionne, et se ferme maintenant toute seule
( plus besoin de de faire OK pour chaque photo)

le seul Hic, c'est comme tout a l'heure...
a savoir une boite pour chaques photos et non, une seule barre de progression pour l'ensemble du renommage...
( attention ca vas vite lol )
Le mieux c'est de tester lol

...affaire a suivre...

Dernière modification par Peat.hagore (Le 20/02/2008, à 18:30)

Hors ligne

#18 Le 25/02/2008, à 19:49

Peat.hagore

Re : Demande amelioration de Script. juste histoire de le finir

Bon je demande encore de l'aide
j'ai essayé 2 , 3 trucs mais sans resultat.
J'ai toujours le meme probleme.

j'ai autant de boite zenity --progress( de progression) que de photos.
Et non, 1 seule boite zenity (...de Progression tongue ) pour l'ensemble du dossier.

( un dossier de 300 photos et c'est 300 fois que cette boite s'ouvre et se ferme...
imaginez le probleme..

Donc ceci est un petit UP
Pour un script qui est presque fini.
c'est dommage de l'arreter la....donc si vous avez une solution.
Merci

Hors ligne

#19 Le 27/02/2008, à 01:46

pipou24

Re : Demande amelioration de Script. juste histoire de le finir

bon en fait, juste une piste. je débute, hein wink
mais comme je me suis servi de ton script pour autre chose... le truc pour avoir une barre de progression au nombre de photos serait de compter le nombre d'elements de $fichier.
quelquepart sur un tuto j'ai trouve :

Le nombre d'arguments passés au script est stocké dans la variable spéciale $#

J'ai essayé, ca marche
Ensuite, la valeur percentage est $indice/$#*100 mais je ne sais pas comment la calculer. j'ai bien essayé expr mais ca doit etre / et * qu'il aime pas ...

[edith] c'est let "PCT=$indice*100/$#"   puis --percentage=$PCT

Dernière modification par pipou24 (Le 27/02/2008, à 02:12)


Non geek et fier de l'être. ㋡

Hors ligne

#20 Le 27/02/2008, à 12:14

Peat.hagore

Re : Demande amelioration de Script. juste histoire de le finir

Salut pipou24

Bon , j'ai bien essayé de mettre
let "PCT=$indice*100/$#"
--percentage=$PCT

dans des endroits stratéGEEKs
Mais sans succé ( je debute aussi wink et ma technique tiens plus du petit bonheur la chance..)

Donc, es ce que tu pourrais mettre le script dans une balise code

Merci a toi et....
pas de panique

Hors ligne

#21 Le 27/02/2008, à 12:28

pipou24

Re : Demande amelioration de Script. juste histoire de le finir

dsl, je peut pas tester... j'suis sous w$%*?§!# sad

ca devrait donner ca :

#!/bin/bash

nom=`zenity --entry --title="Ces fichiers seront renommés" --text="Veuillez rentrer un nouveau nom commun à  toutes ces images."`
let "indice=1"
let "PCT=0"
for fichier in *.png *.jpg *.JPG
do
         if [ -f "$fichier" ]; then
            extension=${fichier##*.}
            echo "$fichier" "=>" "$nom-$indice.$extension"
            mv "$fichier" "$nom-"`printf "%02d" $indice`".$extension"|
(
echo "10" ; sleep 1
) |
 zenity --progress \
  --pulsate \
  --auto-close\
  --title="Opération en cour" \
  --text="Patience..." \
  --percentage=$PCT                         # <------------ (1)
if [ "$?" = -1 ] ; then
  zenity --error \
    --text="Mise à  jour annulée."
fi
            let "indice+=1"
            let "PCT=$indice*100/$#"
        fi

done

je sais pas s'il faut pas des "" au (1) pasque la j'ai pas la coloration syntaxique.
en plus, ca fait quand meme 300 boites de dialogues.... la solution est certainement dans le bon positionnement du | avant zenity...


Non geek et fier de l'être. ㋡

Hors ligne

#22 Le 27/02/2008, à 12:43

Peat.hagore

Re : Demande amelioration de Script. juste histoire de le finir

--percentage=$PCT                         # <------------ (1)

avec ou sens "" c'est le meme resultat

bon, pour mon dossier de test, j'ai pris un dossier avec 20 photos...
parceque effectivement.....
une boite de dialogue zenity par photos....

Voir 20 fois cette boite qui se ferme et qui s'ouvre....je craques lol:lol::lol::lol:

Hors ligne

#23 Le 27/02/2008, à 12:57

pipou24

Re : Demande amelioration de Script. juste histoire de le finir

je viens de trouver ca :

To send progress you send percentage numbers. The following is an example (all on one line, of course).

(for ((i=0;i<100;i+=4)) ; do echo $i ; sleep 1; done) | zenity –progress –auto-close

In scripts I often create a function and generate the progress values from the function, redirecting the output. Another simple example.

function pro () {
read -p “Question 1″
echo “25″
read -p “Question 2″
echo “50″
read -p “Question 3″
echo “75″
read -p “Question 4″
echo “100″
}
pro | zenity –progress –auto-close

ca vient d'ici : http://linux.byexamples.com/archives/265/a-complete-zenity-dialog-examples-2/

je ne pourrait pas tester avant la semaine prochaine....

[edith] http://forum.ubuntu-fr.org/viewtopic.php?pid=684072#p684072  ! ! !

Dernière modification par pipou24 (Le 27/02/2008, à 13:05)


Non geek et fier de l'être. ㋡

Hors ligne

#24 Le 27/02/2008, à 21:36

yurek

Re : Demande amelioration de Script. juste histoire de le finir

merci pipou tu m'a mis sur la voie, j'ai trouvé c'est extra
voir post
http://forum.ubuntu-fr.org/viewtopic.php?pid=1549873#p1549873

bug constaté: certain fichier ne sont pas renomé

Dernière modification par yurek (Le 28/02/2008, à 02:13)


http://doc.ubuntu-fr.org/installation/debutants
http://doc.ubuntu-fr.org/diagnostic
http://doc.ubuntu-fr.org/diagnostic_outils
http://doc.ubuntu-fr.org/reflexe_ubunteros

Hors ligne

#25 Le 29/02/2008, à 21:41

yurek

Re : Demande amelioration de Script. juste histoire de le finir

Probleme :
Ma fonction ci dessous ne fonctionen pas correctement. Il ne renome pas tous les fichier en .jpg .JPG et .PNG il s'arrete en plein milieu et je ne comprend pas pourquoi alors si quelqu'un pouvais jetter un coup d'oeil.

j'ai fait le test sur 1130 fichier (toutes les extension).
function mv_rename_all {
    INDICE=1   
    for FICHIERS in *.jpg *.JPG *.png *.PNG
    do
        EXTENSION=${FICHIERS##*.}
        RN="$DOSSIER_des/$NOM-"`printf "%02d" $INDICE`".$EXTENSION"
            while  [ -f "$RN" ]
        do
        INDICE_sauv=$INDICE
            INDICE=$((INDICE+1));
        RN="$DOSSIER_des/$NOM-"`printf "%02d" $INDICE`".$EXTENSION"
        done
        echo "$FICHIERS => $NOM-`printf "%02d" $INDICE`.$EXTENSION"
            mv "$FICHIERS" "$RN"
        INDICE=$INDICE_sauv
        echo $INDICE
    done
}


http://doc.ubuntu-fr.org/installation/debutants
http://doc.ubuntu-fr.org/diagnostic
http://doc.ubuntu-fr.org/diagnostic_outils
http://doc.ubuntu-fr.org/reflexe_ubunteros

Hors ligne

Haut de page ↑