Renommer des fichiers en .bat dans plusieurs repertoire différen

Fermé
gregt73 Messages postés 52 Date d'inscription lundi 25 mai 2009 Statut Membre Dernière intervention 21 janvier 2019 - 21 août 2015 à 09:29
dubcek Messages postés 18758 Date d'inscription lundi 15 janvier 2007 Statut Contributeur Dernière intervention 24 décembre 2024 - 22 août 2015 à 09:02
Bonjour à tous,

J'ai passé pas mal de temps à trouver ma réponse sur le net. Je m'y approche mais c'est pas vraiment ce que je souhaite faire. J'espère avoir ma réponse ici...

Par un .bat, j'aimerais renommer certains fichiers. Par exemple, toto-a.txt par toto-b.txt et tutu-a.txt par tutu-b.txt. Ca, c'est ok, je le fais par ren \CHEMIN_DU_FICHIER\*-a.txt *-b.txt.

Mon problème est que j'ai ce type de fichier dans plusieurs répertoire différents et donc que je dois changer le chemin à chaque fois.

J'aimerais "remonter" dans l'arborescence, pour pouvoir faire cette manip dans plusieurs sous-repertoire automatiquement...

J'espère avoir été assez clair...

Si quelqu'un a une idée...

Merci d'avance...
A voir également:

3 réponses

dubcek Messages postés 18758 Date d'inscription lundi 15 janvier 2007 Statut Contributeur Dernière intervention 24 décembre 2024 5 623
21 août 2015 à 15:19
hello
avec for /R on peut chercher les fichiers dans tout les sous répertoires
for /R %%a in (*-a.txt) do echo %%a
0
gregt73 Messages postés 52 Date d'inscription lundi 25 mai 2009 Statut Membre Dernière intervention 21 janvier 2019
21 août 2015 à 15:38
Merci pour ta réponse qui me parait très bien....mais je ne sais pas comment adapter ça à mon ren \C...etc!!
0
dubcek Messages postés 18758 Date d'inscription lundi 15 janvier 2007 Statut Contributeur Dernière intervention 24 décembre 2024 5 623
Modifié par dubcek le 22/08/2015 à 09:03
ou comme ca
dir trouve chaque répertoire et on exécute le ren
echo affiche la commande sans l'exécuter, pour voir ce qu'il va faire, enlever le echo pour effectuer le ren
for /F "delims="  %%a in ('dir /b/s  /a:d') do (
echo ren "%%a\*-a.txt" "%%a\*-b.txt"
)

faire une sauvegarde avant
0