Rechercher : dans
Par :

[Batch] Renommer + incrémentation

Dernière réponse le 18 sep 2007 à 22:15:23 guizmo35, le 24 mar 2007 à 11:53:46 
 Signaler ce message aux modérateurs

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;

Configuration: Windows XP
Firefox 2.0.0.3

Meilleures réponses pour « [Batch] Renommer + incrémentation » dans :
Renommer plusieurs fichiers en batch VoirLe fait de renommer un grand nombre de fichiers peut très vite devenir fastidieux. Heureusement, il existe des outils permettant d'automatiser cette tâche dans un grand nombre de cas : Fonctionnalités natives Utilisation d'un programme...
Sauvegarde incrémentielle de données avec un .bat (Batch) VoirPourquoi utiliser la sauvegarde incrémentielle ? Sauvegarder vos données importantes avant un formatage par exemple... Au 1er lancement du batch, il sauvegarde l'intégralité des dossiers et fichiers, par contre si vous relancez le batch 2 semaines...
Portabiliser une application avec le Batch VoirI) Introduction II) Sauvegarde des paramètres III) Portabilisation (Création du Batch) Autres Liens I) Introduction Voici un tutoriel vous permettant de suivre pas à pas la création d’un lanceur facilement pour une application qui n’est...

1

geek85, le 24 mar 2007 à 12:22:31

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

j'apprend vite ...... mais je comprend pas rapidement! lol

Répondre à geek85

2

guizmo35, le 24 mar 2007 à 12:33:32

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 ?

Répondre à guizmo35

3

geek85, le 24 mar 2007 à 16:47:49

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

j'apprend vite ...... mais je comprend pas rapidement! lol

Répondre à geek85

4

guizmo35, le 24 mar 2007 à 18:36:37

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 !

Répondre à guizmo35

5

geek85, le 24 mar 2007 à 18:52:27

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. un geek dans la nature.

Répondre à geek85

6

guizmo35, le 24 mar 2007 à 19:03:33

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 ?

Répondre à guizmo35

7

guizmo35, le 24 mar 2007 à 20:29:03

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

Besoin d'aide !

Répondre à guizmo35

8

geek85, le 25 mar 2007 à 12:55:04

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 un geek dans la nature.

Répondre à geek85

9

guizmo35, le 25 mar 2007 à 15:25:55

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 ?

Répondre à guizmo35

10

geek85, le 25 mar 2007 à 15:34:08

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! un geek dans la nature.

Répondre à geek85

11

guizmo35, le 26 mar 2007 à 17:24:22

Eh bien non avec ta derniere technique ça ne marche toujours pas ...

Répondre à guizmo35

12

geek85, le 27 mar 2007 à 16:10:51

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. un geek dans la nature.

Répondre à geek85

13

guizmo35, le 28 mar 2007 à 14:05:51

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

Répondre à guizmo35

14

hobbes_ze_tiger, le 3 avr 2007 à 22:00:21

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

Répondre à hobbes_ze_tiger

15

decidan, le 4 avr 2007 à 19:30:08

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!

Répondre à decidan

16

guizmo35, le 4 avr 2007 à 21:53:33

Bah ça renomme qu'un fichier ton truc non ?

Répondre à guizmo35

17

decidan, le 5 avr 2007 à 12:09:27

As-tu essayé, au moins?

Répondre à decidan

18

bud35000, le 18 sep 2007 à 12:48:51

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?

Répondre à bud35000

19

 bud35000, le 18 sep 2007 à 22:15:23

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.

Répondre à bud35000