Page 1 of 1

[Résolu] RegExp et renommages par lots

Posted: Wed Jul 25, 2018 1:51 pm
by ChristianB
Bonjour,
Utilisant depuis peu XnView MP et appréciant une richesse de fonctionnalités exceptionnelle,
j'aimerais en savoir plus sur le renommage par lots avec des expressions régulières pour éviter des erreurs, d'autant plus que j'ai peu d'expérience des RegExp. Quelqu'un les a-t-il pratiquées avec XnView MP ? Ou bien y a-t-il une doc quelque part ?
Utilise-t-on un jeu minimal de métacaractères, un jeu étendu, ou encore des conventions propres à un logiciel connu ?

Par ailleurs j'ai un problème spécifique pour des fichiers pris sur internet (par HTTrack) et qui portent souvent le même nom mais se distinguent par le répertoire père. Je ne connais pas de solution simple à ce pb classique (les virtuoses de la ligne de commande sauraient sans doute).
Dans le cas de XnView MP, je ne vois pas clairement s'il y a un moyen de faire cela soit par les RegExp, soit par les "Modèles" auxquels je n'ai pas encore compris grand chose.
Cela reviendrait à pouvoir utiliser le chemin comme expression de recherche au lieu du nom de fichier seul, pour ajouter le nom du père au nom du fichier. Est-ce possible ?
Merci

Re: RegExp et renommages par lots

Posted: Sat Aug 04, 2018 9:27 am
by xnview
donc par exemple:
c:\test\dossier\fichier.jpg => c:\test\dossier\dossier-fichier.jpg?

Re: RegExp et renommages par lots

Posted: Fri Sep 28, 2018 6:03 pm
by ChristianB
xnview wrote:donc par exemple:
c:\test\dossier\fichier.jpg => c:\test\dossier\dossier-fichier.jpg?
Oui, pardon j'ai dû manquer une notification et avec les vacances... C'est pourquoi je réponds tardivement.
Mais s'agit bien de cela.
J'ai envisagé de faire autrement, par exemple avec Tcl/Tk, réputé intéressant pour les expressions régulières, mais pour le moment Tk ne démarre pas correctement sur ma distribution.
De toute manière il serait intéressant de le faire directement quand je visualise les répertoires d'images.
Si vous ou quelqu'un a une idée à ce sujet ou une référence de doc sur les expressions régulières sous xnview; merci.

P-S : Je n'ai pas encore l'habitude d'utiliser les exp. reg. mais j'ai le livre d'introduction donc pour les principes de base pas de pb en principe.

Re: RegExp et renommages par lots

Posted: Mon Oct 01, 2018 11:18 am
by xnview
avez vous essayé

Code: Select all

{Folder name}-{Filename}

Re: RegExp et renommages par lots

Posted: Mon Oct 01, 2018 3:40 pm
by ChristianB
Je ne vois pas bien comment interpréter la formule
{Folder name}-{Filename}
Pour reprendre votre exemple :
c:\test\dossier\fichier.jpg => c:\test\dossier\dossier-fichier.jpg
Comme il y a peu de noms de fichiers d'images distincts (que je peux traiter un par un s'il n'y a pas de solution en une fois), {Filename} peut éventuellement représenter un nom fixe.
Mais le pb est qu'il y a sous "test" un grand nombre de sous-dossiers (dont "dossier" serait un exemple) et donc il faudrait que {Folder name} désigne un nom variable, à savoir dans chaque cas le père de {Filename} (ici de fichier.jpg).

Peut-être devrais-je d'abord étudier de plus près les expressions régulières, mais j'ai au moins 2 pbs propres à xnview MP :
1) Je ne sais pas si dans l'expression à remplacer (ou dans l'expression de remplacement) on peut utiliser le chemin complet du fichier et pas seulement son nom.
2) Je viens de m'apercevoir que si je positionne l'explorateur sur le répertoire correspondant à "test" dans l'exemple (et qui ne contient que des répertoires d'images et non directement des images), le menu "Outils/Renommer par lots..." est grisé. Cela me rend plutôt pessimiste. Si on ne peut renommer que des images dans un répertoire donné, automatiser l'ajout des noms des différents répertoires similaires à "dossier" paraît impossible.
Toutefois si vous aviez un exemple d'utilisation des ExpReg dans xnview, je comprendrais peut-être mieux.

Par ailleurs je n'ai pas compris non plus les autres possibilités basées sur les "modèles de nom". S'il y avait une doc (même en anglais) quelque part, cela aiderait.

Re: RegExp et renommages par lots

Posted: Mon Oct 01, 2018 3:53 pm
by xnview
ChristianB wrote: Mon Oct 01, 2018 3:40 pm Mais le pb est qu'il y a sous "test" un grand nombre de sous-dossiers (dont "dossier" serait un exemple) et donc il faudrait que {Folder name} désigne un nom variable, à savoir dans chaque cas le père de {Filename} (ici de fichier.jpg).
Oui c'est une variable qui désigne le dossier parent du fichier

Re: RegExp et renommages par lots

Posted: Mon Oct 01, 2018 5:25 pm
by michel038
Pour renommer par lots des images réparties dans plusieurs sous dossiers, il faut
1 Etre prudent
2 sélectionner le dossier parent dans le panneau "Dossiers", puis faire dessus un clic-droit et choisir "Voir tous les fichiers (récursif)"
3 Sélectionner tout ou partie des images (toutes = Ctrl A)
4 Aller dans l'outil Renommer par lots
5 Dans la première case, à l'aide de la flèche triangulaire droite, sélectionner "nom de dossier", puis "nom de fichier sans extension"
ce qui donne {Folder name}-{Filename} si vous avez ajouté un tiret entre les deux
6 Vérifier les anciens noms et nouveaux noms avant de tenter le OK ... :D

Les "modèles de noms" mémorisent dans la première case (menu déroulant ) vos différentes tentatives ... si la case "créer un modèle ... " est cochée

[Résolu]Re: RegExp et renommages par lots

Posted: Tue Oct 09, 2018 2:33 pm
by ChristianB
Merci beaucoup michel038, c'est exactement ce qu'il me fallait.
Je n'avais pas vu l'item "Voir tous les fichiers (récursif)".
Ni d'ailleurs compris le modèle de noms car j'étais parti dans l'idée d'utiliser les champs "Remplacer", ce qui n'était manifestement pas une bonne idée dans ce cas.
Comme ça c'est beaucoup plus clair.

P-S : Accessoirement j'ai constaté que mon ancien lanceur avec la commande xnview %F lançait toujours la version 0.90 et que je devais faire /opt/XnView/xnview.sh %F pour lancer la version 0.92. Apparemment /usr/bin/xnview n'est pas mis à jour par la version 0.92 (en tout cas avec ma version de Linux). Je le signale en passant à toutes fins utiles.