Contenu | Rechercher | Menus

Annonce

Si vous avez des soucis pour rester connecté, déconnectez-vous puis reconnectez-vous depuis ce lien en cochant la case
Me connecter automatiquement lors de mes prochaines visites.

À propos de l'équipe du forum.

#1 Le 12/04/2015, à 08:48

Gros_rouge

Script sur fichiers sélectionnés

Bonjour,

je suppose que le cas a été maintes et maintes fois demandé sur ces forums. Soit je n'arrive pas à chercher correctement, soit je ne sais pas exactement quoi demander à Google, mais en tout cas je bute sur quelque chose dans un script.

Mon script de renommage de photo fait exactement ce que je veux :

#! /bin/bash
# Renommage de l'extension générique de fichier
complement=`zenity --entry --text "Entrez le complément contextuel du nom de fichier (sera mis après la date et l'heure)" --entry-text "Nom du fichier"`
# Mettre l'extension en casse minuscule
shopt -s nocaseglob; rename 's/\.jpe?g/.jpg/i' *.jpg
# Tourner automatiquement les photos en fonction de l'indicateur EXIF de sens de prise de vue (si disponible)
exiftran -ai *.jpg
# Renomme par date et heure exif (donc dans l'ordre chronologique)
exiv2 -r '%Y%m%d %H%M%S '"$complement" mv *.jpg
notify-send "Renommer les photos " "Les photos selectionnées ont été correctement renommées."

Il met le jpg en minuscule si majuscule, il me tourne les photos dans le sens exif, et les renomme en fonction de la date de la prise de vue et d'un nom générique demandé au clavier. Ça, ça fonctionne parfaitement. Seulement, le script s'applique à toutes photos d'un dossier lorsque je fais un clic droit "script" blabla.

Ce que je voudrais, c'est sélectionner les fichiers à la souris, faire un clic droit et que ce script ne s'applique qu'aux fichiers sélectionnés. C'est possible ?

Merci de votre aide.

Hors ligne

#2 Le 12/04/2015, à 16:48

BERGUERAND

Re : Script sur fichiers sélectionnés

Bonjour,

regarde du coté de Zenity. En principe les outils zenity sont installés par défaut.
Sinon, il faut mettre les mains dans le cambouis, un petit programme python par exemple!
Bon courage


Alain

Hors ligne

#3 Le 12/04/2015, à 21:55

pge

Re : Script sur fichiers sélectionnés

Bonsoir,

Jette un coup d'oeil du côté des "actions personnalisées" de ton explorateur de fichier ...
Nautilus : https://doc.ubuntu-fr.org/nautilus_scripts
Thunar : https://doc.ubuntu-fr.org/thunar#actions_personnalisees
...

pgen

Hors ligne

#4 Le 13/04/2015, à 09:38

erresse

Re : Script sur fichiers sélectionnés

Bonjour,

Toutes les actions de ton script sont prévues pour s'appliquer à l'ensemble des fichiers du répertoire (*.jpg)... hmm
Pour que cela prenne en compte une sélection opérée à la souris et que ça ne s'applique qu'à ces fichiers, il te faut modifier ton script afin qu'il exécute une boucle sur les paramètres transmis par Nautilus (ou ton explorateur de fichiers, si c'est autre chose).

while $1
do
    # traitement de la photo courante ($1)
    shift   #décale les paramètres : $1 est supprimé, $2 devient $1 et $3 devient $2...
done

Et tu remplaces tous les "*.jpg" par des "$1.jpg" dans le corps du script.


Plus de 50 ans d'informatique, ça en fait des lignes de commandes en console, mais on n'avait pas le choix...
Excellente raison pour, aujourd'hui qu'on le peut, utiliser au maximum les INTERFACES GRAPHIQUES !
Important : Une fois résolu, pensez à clore votre sujet en ajoutant [Résolu] devant le titre du 1er message, et un bref récapitulatif de la solution à la fin de celui-ci. Merci.

Hors ligne

#5 Le 16/04/2015, à 20:25

Gros_rouge

Re : Script sur fichiers sélectionnés

Bonsoir,

merci à tous pour cet aide. le script suivant marche parfaitement et fait exactement ce que je veux.
Du coup, il me reste une question : existe-t'il une commande qui rafraîchit l'affichage de la fenêtre en question ? Ceci afin que la notification paraisse une fois le job terminé. Après, je m'amuserai à y mettre deux ou trois tests.

#! /bin/bash
# Nom générique des images
complement=`zenity --entry --text "Entrez le complément contextuel du nom de fichier (sera mis après la date et l'heure)" --entry-text "Nom du fichier"`
OLDIFS=$IFS
IFS='
'
# Mettre l'extension en casse minuscule
shopt -s nocaseglob; rename 's/\.jpe?g/.jpg/i' $NAUTILUS_SCRIPT_SELECTED_FILE_PATHS
# Tourner automatiquement les photos en fonction de l'indicateur EXIF de sens de prise de vue (si disponible)
exiftran -ai $NAUTILUS_SCRIPT_SELECTED_FILE_PATHS
# Renomme par date et heure exif (donc dans l'ordre chronologique)
exiv2 -r '%Y%m%d %H%M%S '"$complement" mv $NAUTILUS_SCRIPT_SELECTED_FILE_PATHS
notify-send "Renommer les photos " "Les photos selectionnées ont été correctement renommées."
IFS=$OLDIFS
erresse a écrit :

Plus de 40 ans d'informatique, ça en fait des lignes de commandes en console, mais on n'avait pas le choix...
Excellente raison pour, aujourd'hui qu'on le peut, utiliser au maximum les INTERFACES GRAPHIQUES !

Pas vraiment d'accord. Après 30 ans passé à faire de l'interface graphique, je vois bien que si tu veux avancer vite, les scripts font le boulot plus vite.

Dernière modification par Gros_rouge (Le 16/04/2015, à 20:27)

Hors ligne