Renommer les dossiers et sous dossiers

Fermé
DelNC Messages postés 2234 Date d'inscription samedi 25 octobre 2014 Statut Membre Dernière intervention 22 février 2020 - 20 juil. 2016 à 12:06
dubcek Messages postés 18755 Date d'inscription lundi 15 janvier 2007 Statut Contributeur Dernière intervention 14 novembre 2024 - 25 juil. 2016 à 12:35
Bonjour à tous et toutes

Je viens vous demander de l'aide car je n'arrive pas à réaliser le script dont j'ai besoin.

J'ai dans un répertoire "Photos" plusieurs dossiers qui ont eux aussi des sous dossiers.
Je cherche le moyen de renommer tous les dossiers et sous dossiers.

J'ai déjà fait le code qui permet de récupérer la liste des dossiers avec leur chemin.
Le voici
for /f "delims=" %%a In ('dir /b/ad/s  "C:\Users\Desktop\Photos" ') Do (
		echo %%a >>Dossiers.txt
)


Pour le contenu de la liste c'est ok.
Le nom de mes dossiers, pour l'instant, sont de cette forme 2015 02 02 - evenement
Je voudrais ne garder que la partie 2015 02 02

Il me semble que pour renommer les dossiers il faut utiliser la commande ren.
Je n'arrive pas à trouver comment faire pour n'avoir que la partie date autrement que de renommer les doossiers un par un.

Si possible, il faudrait que je puisse avoir un script qui, pour chaque dossier présent dans Dossiers.txt le renommer correctement.

Si vus pouvez me donner des conseils, ou des suggestions, ça serait sympa.
Merci d'avance

2 réponses

dubcek Messages postés 18755 Date d'inscription lundi 15 janvier 2007 Statut Contributeur Dernière intervention 14 novembre 2024 5 621
20 juil. 2016 à 16:11
hello
montre quelques lignes de Dossiers.txt
0
DelNC Messages postés 2234 Date d'inscription samedi 25 octobre 2014 Statut Membre Dernière intervention 22 février 2020 2 002
Modifié par DelNC le 20/07/2016 à 22:59
Hello dubcek

voilà quelques lignes de Dossiers.txt comme tu me l'a demandé
C:\Users\Desktop\Photos
C:\Users\Desktop\Photos\2013
C:\Users\Desktop\Photos\2013\2013 05 - Amis
C:\Users\Desktop\Photos\2013\2013 07  vacances
C:\Users\Desktop\Photos\2013\2013 09 - Anniversaire


J'ai plus de 200 dossiers à renommer
0
dubcek Messages postés 18755 Date d'inscription lundi 15 janvier 2007 Statut Contributeur Dernière intervention 14 novembre 2024 5 621
21 juil. 2016 à 08:10
ils commencent tous par AAAA MM
ou comme au poste 1 il y a des AAAA MM JJ
l'idée est de garder les x premiers caractères
0
dubcek Messages postés 18755 Date d'inscription lundi 15 janvier 2007 Statut Contributeur Dernière intervention 14 novembre 2024 5 621
Modifié par dubcek le 21/07/2016 à 10:53
essayer ca
il ne fait qu'afficher les commandes
si c'est ok, enlever le echo devant ren
@echo off
setlocal enableDelayedExpansion
for /f "delims=" %%a in ('type dossiers.txt') do (
set n=%%a
set nn=%%~na
echo %%~na | findstr /R /C:"[0-9][0-9][0-9][0-9] [0-9][0-9] [0-9]" > NUL
if !errorlevel! EQU 0 (set nn=!nn:~0,10!& echo ren "%%~pna" "%%~pa!nn!")
echo %%~na | findstr /R /C:"[0-9][0-9][0-9][0-9] [0-9][0-9] [^0-9]" > NUL
if !errorlevel! EQU 0 (set nn=!nn:~0,7!& echo ren "%%~pna" "%%~pa!nn!")
)
0
DelNC Messages postés 2234 Date d'inscription samedi 25 octobre 2014 Statut Membre Dernière intervention 22 février 2020 2 002
Modifié par DelNC le 21/07/2016 à 11:23
Je vais tester le code et je t tiens au courant.
Merci
0
DelNC Messages postés 2234 Date d'inscription samedi 25 octobre 2014 Statut Membre Dernière intervention 22 février 2020 2 002 > DelNC Messages postés 2234 Date d'inscription samedi 25 octobre 2014 Statut Membre Dernière intervention 22 février 2020
21 juil. 2016 à 12:35
J'ai testé mais il n'y a pas de modification.

Je continue de chercher de mon côté.
Si je trouve quelque chose je mettrai un message.

@+
0
dubcek Messages postés 18755 Date d'inscription lundi 15 janvier 2007 Statut Contributeur Dernière intervention 14 novembre 2024 5 621
Modifié par dubcek le 21/07/2016 à 13:41
si c'est ok, enlever le echo devant ren
... echo ren "%%~pna" ...
0
DelNC Messages postés 2234 Date d'inscription samedi 25 octobre 2014 Statut Membre Dernière intervention 22 février 2020 2 002 > dubcek Messages postés 18755 Date d'inscription lundi 15 janvier 2007 Statut Contributeur Dernière intervention 14 novembre 2024
21 juil. 2016 à 13:48
C'est que ce j'ai fait, mais si je relance après le script
for /f "delims=" %%a In ('dir /b/ad/s  "C:\Users\Desktop\Photos" ') Do (
		echo %%a >>Dossiers.txt
)


j'aile même résultat
0
dubcek Messages postés 18755 Date d'inscription lundi 15 janvier 2007 Statut Contributeur Dernière intervention 14 novembre 2024 5 621
21 juil. 2016 à 13:52
les fichiers ne sont pas renomés et il n'y a pas d'erreur ?
0