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
[Résolu] RegExp et renommages par lots
Moderators: XnTriq, helmut, xnview
-
- Posts: 4
- Joined: Wed Jul 25, 2018 12:31 pm
[Résolu] RegExp et renommages par lots
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.
1984 est passé, les émules de Big Brother nous surveillent.
-
- Author of XnView
- Posts: 41883
- Joined: Mon Oct 13, 2003 7:31 am
- Location: France
Re: RegExp et renommages par lots
donc par exemple:
c:\test\dossier\fichier.jpg => c:\test\dossier\dossier-fichier.jpg?
c:\test\dossier\fichier.jpg => c:\test\dossier\dossier-fichier.jpg?
Pierre.
-
- Posts: 4
- Joined: Wed Jul 25, 2018 12:31 pm
Re: RegExp et renommages par lots
Oui, pardon j'ai dû manquer une notification et avec les vacances... C'est pourquoi je réponds tardivement.xnview wrote:donc par exemple:
c:\test\dossier\fichier.jpg => c:\test\dossier\dossier-fichier.jpg?
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.
1984 est passé, les émules de Big Brother nous surveillent.
-
- Author of XnView
- Posts: 41883
- Joined: Mon Oct 13, 2003 7:31 am
- Location: France
-
- Posts: 4
- Joined: Wed Jul 25, 2018 12:31 pm
Re: RegExp et renommages par lots
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.
{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.
1984 est passé, les émules de Big Brother nous surveillent.
-
- Author of XnView
- Posts: 41883
- Joined: Mon Oct 13, 2003 7:31 am
- Location: France
Re: RegExp et renommages par lots
Oui c'est une variable qui désigne le dossier parent du fichierChristianB 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).
Pierre.
-
- XnThusiast
- Posts: 1132
- Joined: Tue Sep 27, 2016 8:18 am
- Location: France
Re: RegExp et renommages par lots
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 ...
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
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 ...

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
Catalogage avec XnviewMP : https://orchisere.fr/logiciels/html/xnviewmpintro.htm
Tutoriel exiftool : https://orchisere.fr/logiciels/html/exiftool.htm
Tutoriel exiftool : https://orchisere.fr/logiciels/html/exiftool.htm
-
- Posts: 4
- Joined: Wed Jul 25, 2018 12:31 pm
[Résolu]Re: RegExp et renommages par lots
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.
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.
1984 est passé, les émules de Big Brother nous surveillent.