Renommer une serie de fichier
paulselvan
Messages postés
198
Date d'inscription
Statut
Membre
Dernière intervention
-
Idéophage Messages postés 43 Date d'inscription Statut Membre Dernière intervention -
Idéophage Messages postés 43 Date d'inscription Statut Membre Dernière intervention -
Bonjour,
J'ai une cinquantaine de repertoires contenant chacun des fichiers jpg nommés quelconquement
Je voudrais nommer ces fichiers jpg avec le nom du repertoire les contenant suivi d'un indice ,exemple :
____________________________
avant :
photos\anniversaire\a.jpg
photos\anniversaire\b.jpg
...
photos\anniversaire\z.jpg
___________________________
après :
photos\anniversaire\anniversaire 01.jpg
photos\anniversaire\anniversaire 02.jpg
...
photos\anniversaire\anniversaire 26.jpg
_________________________
J'ai donc une tâche repététif à faire
Pouvez m'aider en me donnant un programme tout fait soit en batch,vb6,java...
Merci d'avance
Cordialement
J'ai une cinquantaine de repertoires contenant chacun des fichiers jpg nommés quelconquement
Je voudrais nommer ces fichiers jpg avec le nom du repertoire les contenant suivi d'un indice ,exemple :
____________________________
avant :
photos\anniversaire\a.jpg
photos\anniversaire\b.jpg
...
photos\anniversaire\z.jpg
___________________________
après :
photos\anniversaire\anniversaire 01.jpg
photos\anniversaire\anniversaire 02.jpg
...
photos\anniversaire\anniversaire 26.jpg
_________________________
J'ai donc une tâche repététif à faire
Pouvez m'aider en me donnant un programme tout fait soit en batch,vb6,java...
Merci d'avance
Cordialement
A voir également:
- Renommer une serie de fichier
- Fichier bin - Guide
- Fichier epub - Guide
- Renommer fichier en masse - Guide
- Fichier rar - Guide
- Comment réduire la taille d'un fichier - Guide
4 réponses
si ce n'est que pour des "images" il y a " x " logs (graticiels) qui permettent de le faire ... et ensuite tu peux repartir sur une bonne base ...
suffit de fouiner un peu dans les gestionnaires d'images sur GG ... ;)
(le 'dossier' ça tu verras après car aucune importance... )
suffit de fouiner un peu dans les gestionnaires d'images sur GG ... ;)
(le 'dossier' ça tu verras après car aucune importance... )
Voici un exemple en Java :
Exemple d'utilisation :
import java.io.File; public class Rename { public static void main(String[] args) { for (int i=1; i<args.length; i++) { File rep = new File(args[i]); int n=1; String name; File[] list = rep.listFiles(); if (list!=null) for (File fic : list) if (fic.getName().endsWith(args[0])) do name= String.format("%s %03d%s", rep.getName(), n++, args[0]); while (!fic.renameTo(new File(rep,name))); } } }
Exemple d'utilisation :
java Rename ".jpg" "photos\anniversaire\" "photos\vacances"
Bonjour,
J'ai essayé de faire ça en Perl (je débute, c'était pour m'exercer), voilà ce que j'ai fait :
Ça fonctionne chez moi, mais je ne sais pas s'il vous est possible d'interpréter du Perl sur Windows facilement. Il faut aussi remplacer le slashs par un anti-slash (ou l'inverse) dans le chemin (ligne "rename ...").
Je me suis inspiré du Java de KX. On fournit en arguments l'extension des fichiers que l'on veut renommer (idée d'amélioration : demander à l'utilisateur sa propre regex, pas trouvé comme faire), et le script explore le dossier et ses sous-dossiers pour appliquer le rename.
J'ai essayé de faire ça en Perl (je débute, c'était pour m'exercer), voilà ce que j'ai fait :
my $ext = shift @ARGV; sub renommer { my ($compt, $path) = (0, @_); my $pref = $path; $pref =~ s=.*/(.*?)$=$1=o; foreach (glob (quotemeta($path).'/*') ) { if (-d $_) { &renommer ($_); } elsif ($_ =~ m=\.$ext$=) { $_ =~ s=.*/(.*?)$=$1=o; rename "$path/$_", "$path/$pref $compt.$ext"; $compt++; } } } renommer $_ foreach (@ARGV);
Ça fonctionne chez moi, mais je ne sais pas s'il vous est possible d'interpréter du Perl sur Windows facilement. Il faut aussi remplacer le slashs par un anti-slash (ou l'inverse) dans le chemin (ligne "rename ...").
Je me suis inspiré du Java de KX. On fournit en arguments l'extension des fichiers que l'on veut renommer (idée d'amélioration : demander à l'utilisateur sa propre regex, pas trouvé comme faire), et le script explore le dossier et ses sous-dossiers pour appliquer le rename.
La distribution PERL fournie sous Debian comporte en principe l'utilitaire rename en prime-cadeau. Il y a de grosses chance que cet utilitaire soit disponible dans un bonne distribution PERL pour Win$
En suivant les liens symboliques .
johand@osiris: ~ $ dpkg -S /usr/bin/prename
perl: /usr/bin/prename
En suivant les liens symboliques .
johand@osiris: ~ $ dpkg -S /usr/bin/prename
perl: /usr/bin/prename