[Batch] Renommer + incrémentation

Fermé
guizmo35 Messages postés 10 Date d'inscription samedi 24 mars 2007 Statut Membre Dernière intervention 4 avril 2007 - 24 mars 2007 à 11:53
bud35000 Messages postés 150 Date d'inscription lundi 5 février 2007 Statut Membre Dernière intervention 21 septembre 2016 - 18 sept. 2007 à 22:15
Bonjour a tous !

Je vous explique : je souhaite, grâce a un .bat modifier une centaine de photos contenues dans un répertoire.
Au lieu de les renommer à la main(ou d'utiliser un logiciel pour) j'aimerai le faire avec un batch.

Voila ce que j'ai pu faire :

ren *.jpg Mes_vacs.jpg


Or comme on peut facilement l'imaginer, Windows ne va en modifier qu'une ... en Mes_vacs.jpg ... C'est normal c'est ce que j'ai demandé.

Si quelqu'un pourrai m'aider ce serai sympa !

Merci d'avance à tous ceux qui apporteront une réponse a ma question ...

Guizmo

PS : Jusque comme ça j'ai cherché sur google : pas de réponses pertinentes;

15 réponses

geek85 Messages postés 510 Date d'inscription mardi 25 mai 2004 Statut Membre Dernière intervention 4 janvier 2011 152
24 mars 2007 à 12:22
qu'on me rattrappe si j'ai tord, mais je crois que tu peux faire une boucle "FOR" pour incrémenter une variable que tu rajoutera à la fin du nom de ton fichier

en gros ça doit donner ça
FOR /L i IN (1,1,100) DO ren *.jpg Mes_vacs%i%.jpg 


ou un truc approchant, je suis pas un maître en commandes DOS...

0
guizmo35 Messages postés 10 Date d'inscription samedi 24 mars 2007 Statut Membre Dernière intervention 4 avril 2007
24 mars 2007 à 12:33
Super ! Merci de ta réponse !!! Je vais tester ça et je te redissi ça a marché !

Euh en passant si tu peu expliquer a quoi sert le (1,1,100) stp ?
0
geek85 Messages postés 510 Date d'inscription mardi 25 mai 2004 Statut Membre Dernière intervention 4 janvier 2011 152
24 mars 2007 à 16:47
alors j'ai fait un FOR /? pour pouvoir répondre à ta précédente question et donc je vais te répondre maintenant que je le sais!

tout d'abord le (1,1,100) s'utilise avec le /L

cela sert a faire un compteur numérique (car le for a d'autres applications)

dans ce cas -> FOR /L (nombre de départ, pas, nombre de fin)

le pas peut être positif ou négatif suivant si tu veux une boucle qui incrémente (1,2,3,4,...) ou qui décrémente (100,98,96,94,...)

voilà, j'espère que tu vas t'en sortir avec ça!

sinon il existe de très bon soft gratuits de rennomage de fichiers.

personnellement j'utilise "Lupas Rename 2000"...

0
guizmo35 Messages postés 10 Date d'inscription samedi 24 mars 2007 Statut Membre Dernière intervention 4 avril 2007
24 mars 2007 à 18:36
Je te remercie beaucoup mais juste ... Je le met apres mon "ren" ? Ou avant ? ou a la fin de mon code batch (ce qui m'étonnerai ...)

Merci pour tes expliquations ! Elles vont faire avancer mon projet !
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
geek85 Messages postés 510 Date d'inscription mardi 25 mai 2004 Statut Membre Dernière intervention 4 janvier 2011 152
24 mars 2007 à 18:52
comme ceci:

essai>FOR /L %i IN (1,1,10) DO ren *.jpg essai%i.jpg


"essai"à remplacer avec ce que tu veux et "10" par ton nombre de fichiers


cela va générer des erreurs car il tenter de modifier tout les fichiers à chaque fois mais au final le résultat sera là. donc tu peux optimiser.
0
guizmo35 Messages postés 10 Date d'inscription samedi 24 mars 2007 Statut Membre Dernière intervention 4 avril 2007
24 mars 2007 à 19:03
Bon je fais mon chieur mais mieux vaut que je sois sur:

@echo off
color a
FOR /L i IN (1,1,54) DO ren *.jpg Mes_vacs%i%.jpg
pause

et voila ?

Aussi simple que ça ?
0
guizmo35 Messages postés 10 Date d'inscription samedi 24 mars 2007 Statut Membre Dernière intervention 4 avril 2007
24 mars 2007 à 20:29
Eh bah non ça ne marche aps ça me met : " i est inattendu"

Besoin d'aide !
0
geek85 Messages postés 510 Date d'inscription mardi 25 mai 2004 Statut Membre Dernière intervention 4 janvier 2011 152
25 mars 2007 à 12:55
non regarde mon poste un peu plus haut, j'ai fait des essais, et c'est %i qu'il faut mettre à chaque foi, pas i ou %i%

je me suis trompé dans le 1er post
0
guizmo35 Messages postés 10 Date d'inscription samedi 24 mars 2007 Statut Membre Dernière intervention 4 avril 2007
25 mars 2007 à 15:25
OK j'essaye ça et je te dit si ça marche ... Mais j'ai pas comprit (désolé je suis un peu boulet) mais devant je remplace le essai> par quoi ?
0
geek85 Messages postés 510 Date d'inscription mardi 25 mai 2004 Statut Membre Dernière intervention 4 janvier 2011 152
25 mars 2007 à 15:34
excuse moi pour le "essai>" c'est un copier/coller malheureux! c'est le dossier dans lequel je faisais mes ... essais justement!
donc a supprimer!
0
guizmo35 Messages postés 10 Date d'inscription samedi 24 mars 2007 Statut Membre Dernière intervention 4 avril 2007
26 mars 2007 à 17:24
Eh bien non avec ta derniere technique ça ne marche toujours pas ...
0
geek85 Messages postés 510 Date d'inscription mardi 25 mai 2004 Statut Membre Dernière intervention 4 janvier 2011 152
27 mars 2007 à 16:10
tu as mis ça?

@echo off
color a
FOR /L %i IN (1,1,54) DO ren *.jpg Mes_vacs%i.jpg
pause

alors, attention, ça va te générer des erreurs mais ça va fonctionner quand même.
0
guizmo35 Messages postés 10 Date d'inscription samedi 24 mars 2007 Statut Membre Dernière intervention 4 avril 2007
28 mars 2007 à 14:05
bah j'ai mis [...] /L %i [...] MesVacs_%i.jpg et il me dit encore une erreur et mes fichiers tests ne sont pas renommés ...
0
hobbes_ze_tiger
3 avril 2007 à 22:00
%i ne marche que lorsque tu tape directement en ligne de commande dans la console dos. si tu veux écrire cette ligne dans un fichier batche, tu dois doubler le signe %, tu devras donc remplacer %i par %%i dans ton fichier.
0
decidan Messages postés 3 Date d'inscription mercredi 4 avril 2007 Statut Membre Dernière intervention 5 avril 2007
4 avril 2007 à 19:30
Une solution simple est de créer un fichier bat comme suit:

ren pict????.jpg pict????_mesvacs.jpg

où:

- pict est le préfixe propre à ton appareil préféré;

- les "?" représente une suite de 4 caractères. Dans mon cas il s'agit du numéro de la photo;

- "_mesvacs.jpg" est le suffixe que tu souhaites à la place de ".jpg"

Salut à tous!
0
guizmo35 Messages postés 10 Date d'inscription samedi 24 mars 2007 Statut Membre Dernière intervention 4 avril 2007
4 avril 2007 à 21:53
Bah ça renomme qu'un fichier ton truc non ?
0
decidan Messages postés 3 Date d'inscription mercredi 4 avril 2007 Statut Membre Dernière intervention 5 avril 2007
5 avril 2007 à 12:09
As-tu essayé, au moins?
0
bud35000 Messages postés 150 Date d'inscription lundi 5 février 2007 Statut Membre Dernière intervention 21 septembre 2016 103
18 sept. 2007 à 12:48
Merci en tout cas pour moi ça marche.
C'est juste qu'il ne s'arrête pas.
Faut-il faire un for end ou quelque chose pour qu'il arrête d'incrémenter sans cesse, qu'il s'arrête au moment où il a finit de tous les renommer en fait?
0
bud35000 Messages postés 150 Date d'inscription lundi 5 février 2007 Statut Membre Dernière intervention 21 septembre 2016 103
18 sept. 2007 à 22:15
en fait si il s'arrête jusqu'au dernier nombre, en l'occurrence ici "100". Mon problème est qu'il ne renomme pas un fichier qui doit être à "11" car il voit comme déjà existant le fichier numéroté "1" ainsi de suite.
0