1 pièce(s) jointe(s)
Renommer une arborescence en batch
Bonjour,
J'aimerai savoir s'il est possible de renommer des répertoires dans une arborescence en traitement par un batch? Je souhaite supprimer les espaces, caractères spéciaux....
Mon script renomme bien les répertoires de premier niveau, mais quand il arrive à un sous répertoire, le répertoire père ayant été renommé, j'ai un message d'erreur "me disant qu'il ne trouve pas le répertoire spécifié"
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25
| @echo off
setlocal enabledelayedexpansion
chcp 1252 >nul
rem renommer que les dossiers
for /f "usebackq tokens=*" %%a in (`dir "C:\temp\test" /ad/b/s`) do (
echo %%a
set "nom=%%~nxa"
set "nom=!nom: =_!"
set "nom=!nom:-=_!"
set "nom=!nom:é=e!"
set "nom=!nom:è=e!"
set "nom=!nom:+=_!"
set "nom=!nom:,=_!"
set "nom=!nom:(=!"
set "nom=!nom:)=!"
set "nom=!nom:à=a!"
move /y "%%~a" "%%~dpa!nom!"
)
echo dossiers renommes
echo:
pause |
J'ai mis une pièce jointe sur la situation d'origine et celle vers laquelle j'aimerais aller, avec entre les 2 l'erreur issue du script.
je ne sais pas si quelqu'un a déjà eu ce genre de script à produire.
merci de votre aide.