[Résolu] RegExp et renommages par lots

Questions générales en Français

Moderators: XnTriq, helmut, xnview

Post Reply
ChristianB
Posts: 4
Joined: Wed Jul 25, 2018 12:31 pm

[Résolu] RegExp et renommages par lots

Post 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
Last edited by ChristianB on Tue Oct 09, 2018 2:40 pm, edited 1 time in total.
Linux Mint 19 Mate 64b. XnViewMP 0.92
1984 est passé, les émules de Big Brother nous surveillent.
User avatar
xnview
Author of XnView
Posts: 43328
Joined: Mon Oct 13, 2003 7:31 am
Location: France
Contact:

Re: RegExp et renommages par lots

Post by xnview »

donc par exemple:
c:\test\dossier\fichier.jpg => c:\test\dossier\dossier-fichier.jpg?
Pierre.
ChristianB
Posts: 4
Joined: Wed Jul 25, 2018 12:31 pm

Re: RegExp et renommages par lots

Post 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.
Linux Mint 19 Mate 64b. XnViewMP 0.92
1984 est passé, les émules de Big Brother nous surveillent.
User avatar
xnview
Author of XnView
Posts: 43328
Joined: Mon Oct 13, 2003 7:31 am
Location: France
Contact:

Re: RegExp et renommages par lots

Post by xnview »

avez vous essayé

Code: Select all

{Folder name}-{Filename}
Pierre.
ChristianB
Posts: 4
Joined: Wed Jul 25, 2018 12:31 pm

Re: RegExp et renommages par lots

Post 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.
Linux Mint 19 Mate 64b. XnViewMP 0.92
1984 est passé, les émules de Big Brother nous surveillent.
User avatar
xnview
Author of XnView
Posts: 43328
Joined: Mon Oct 13, 2003 7:31 am
Location: France
Contact:

Re: RegExp et renommages par lots

Post 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
Pierre.
User avatar
michel038
XnThusiast
Posts: 1273
Joined: Tue Sep 27, 2016 8:18 am
Location: France
Contact:

Re: RegExp et renommages par lots

Post 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
ChristianB
Posts: 4
Joined: Wed Jul 25, 2018 12:31 pm

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

Post 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.
Linux Mint 19 Mate 64b. XnViewMP 0.92
1984 est passé, les émules de Big Brother nous surveillent.
Post Reply