Renommer plusieurs fichiers en une fois

matt240490 -  
 matt240490 -
Bonjour,

dans un répertoire, j'ai plusieurs fichiers.
Exemple :

Ventes01012012.txt
Ventes02012012.txt
...

Je veux pouvoir les renommer tous en une fois :
Ventes1.txt
Ventes2.txt
...

J'ai pensé à rename *.* Ventes.txt, pensant que le second allait être en Ventes - Copie.txt

Mais non, seul le premier est renommé.

Comment faire pour que tous les fichiers soient renommés et obtenir ce que je veux ?

Merci beaucoup de votre aide.

11 réponses

juliencolin54 Messages postés 238 Statut Membre 55
 
Bonjour,

Je n'aime pas batch donc je ne ne testerai pas le code que je vais écrire !
Je me rappelle avoir déjà codé exactement ce que tu demande.

C'était dans ce style :
set /A i=0
for %%f in (*) do (
set /A i+=1
rename %%f Ventes%%i.txt
)
pause


Fais une copie de ton dossier avant pour être sûr, et désolé s'il y a des fautes de syntaxe !

Cdlt,
0
matt240490
 
Arf, ça ne fonctionne pas.
0
juliencolin54 Messages postés 238 Statut Membre 55
 
Qu'est ce qui ne fonctionne pas ? Comment ça réagit ? Tu peut donner la sortie s'il te plait ?
0
juliencolin54 Messages postés 238 Statut Membre 55
 
Bon j'ai fait un petit effort. Voici pour toi, chez moi ça marche :
@echo off

set /a ii=0
setlocal ENABLEDELAYEDEXPANSION

for %%f in (*) do (
set /A ii+=1
rename %%f Ventes!ii!.txt
)
pause


J'avais oublié qu'il fallait prendre en compte l'expansion retardée, désolé.


0

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

Posez votre question
dubcek Messages postés 19023 Date d'inscription   Statut Contributeur Dernière intervention   5 640
 
hello
je modifierais le code de juliencolin54 comme ça:
setlocal enableDelayedExpansion
set /A i=0
for %%f in (*) do (
set /A i+=1
rename %%f Ventes!i!.txt
)
pause

0
juliencolin54 Messages postés 238 Statut Membre 55
 
En effet c'est plus logique, merci :)
0
matt240490
 
Merci, ça fonctionne.
Beau boulot :)
0
juliencolin54 Messages postés 238 Statut Membre 55
 
De rien,
at your service !

Penses à mettre "Résolu"

Software is like sex, it's better when it's free - Linus Torvald
0
matt240490
 
Par contre, il faudrait juste une petite correction, qu'à chaque fois que je relance le .bat, il reparte de 1...

Sinon, il continue d'incrémenter
0
juliencolin54 Messages postés 238 Statut Membre 55
 
Là il repart à zéro ou pas ?
0
matt240490
 
Si je le fais 1x, il s'appellera bien Ventes1.
Si je relance la procédure, il devient Ventes2.
Il faudrait qu'il le remplace et l'écrase.
0