[Batch] Renommer + incrémentation

[Fermé]
Signaler
Messages postés
10
Date d'inscription
samedi 24 mars 2007
Statut
Membre
Dernière intervention
4 avril 2007
-
Messages postés
150
Date d'inscription
lundi 5 février 2007
Statut
Membre
Dernière intervention
21 septembre 2016
-
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

Messages postés
510
Date d'inscription
mardi 25 mai 2004
Statut
Membre
Dernière intervention
4 janvier 2011
151
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...

Messages postés
10
Date d'inscription
samedi 24 mars 2007
Statut
Membre
Dernière intervention
4 avril 2007

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 ?
Messages postés
510
Date d'inscription
mardi 25 mai 2004
Statut
Membre
Dernière intervention
4 janvier 2011
151
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"...

Messages postés
10
Date d'inscription
samedi 24 mars 2007
Statut
Membre
Dernière intervention
4 avril 2007

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 !
Messages postés
510
Date d'inscription
mardi 25 mai 2004
Statut
Membre
Dernière intervention
4 janvier 2011
151
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.
Messages postés
10
Date d'inscription
samedi 24 mars 2007
Statut
Membre
Dernière intervention
4 avril 2007

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 ?
Messages postés
10
Date d'inscription
samedi 24 mars 2007
Statut
Membre
Dernière intervention
4 avril 2007

Eh bah non ça ne marche aps ça me met : " i est inattendu"

Besoin d'aide !
Messages postés
510
Date d'inscription
mardi 25 mai 2004
Statut
Membre
Dernière intervention
4 janvier 2011
151
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
Messages postés
10
Date d'inscription
samedi 24 mars 2007
Statut
Membre
Dernière intervention
4 avril 2007

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 ?
Messages postés
510
Date d'inscription
mardi 25 mai 2004
Statut
Membre
Dernière intervention
4 janvier 2011
151
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!
Messages postés
10
Date d'inscription
samedi 24 mars 2007
Statut
Membre
Dernière intervention
4 avril 2007

Eh bien non avec ta derniere technique ça ne marche toujours pas ...
Messages postés
510
Date d'inscription
mardi 25 mai 2004
Statut
Membre
Dernière intervention
4 janvier 2011
151
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.
Messages postés
10
Date d'inscription
samedi 24 mars 2007
Statut
Membre
Dernière intervention
4 avril 2007

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 ...

%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.
Messages postés
3
Date d'inscription
mercredi 4 avril 2007
Statut
Membre
Dernière intervention
5 avril 2007

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!
Messages postés
10
Date d'inscription
samedi 24 mars 2007
Statut
Membre
Dernière intervention
4 avril 2007

Bah ça renomme qu'un fichier ton truc non ?
Messages postés
3
Date d'inscription
mercredi 4 avril 2007
Statut
Membre
Dernière intervention
5 avril 2007

As-tu essayé, au moins?
Messages postés
150
Date d'inscription
lundi 5 février 2007
Statut
Membre
Dernière intervention
21 septembre 2016
101
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?
Messages postés
150
Date d'inscription
lundi 5 février 2007
Statut
Membre
Dernière intervention
21 septembre 2016
101
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.