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

  1. 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
  2. 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
  3. 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
  4. Vous n’avez pas trouvé la réponse que vous recherchez ?

    Posez votre question
  5. dubcek Messages postés 18627 Date d'inscription   Statut Contributeur Dernière intervention   5 660
     
    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
  6. juliencolin54 Messages postés 238 Statut Membre 55
     
    En effet c'est plus logique, merci :)
    0
  7. matt240490
     
    Merci, ça fonctionne.
    Beau boulot :)
    0
  8. 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
  9. 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
  10. juliencolin54 Messages postés 238 Statut Membre 55
     
    Là il repart à zéro ou pas ?
    0
  11. 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