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 26 27 28 29 30 31 32 33 34
| @echo off
Setlocal EnableDelayedExpansion
:: Renumérotation d'une série de dossiers de type "XXXXX" (exemples : 50, 00500, 00807, 1307, 123456789)
:: en "PXXXXX" à 5 chiffres minimum (résultats des exemples : P00550, P01000, P01307, P123457289)
for /F %%a in ('dir /ad /b') do (
:: Listing des fichiers
:: /ad = uniquement les répertoires
:: /b = juste les noms, pas les détails
set $nom=%%a
set $org=%%a
echo AVANT trim : !$nom!
:: on supprime tous les éventuels "0" en préfixe
:trim
if "!$nom:~0,1%!"=="0" (
set $nom=!$nom:~1!
goto trim
)
echo APRES trim : !$nom!
if !$nom! LSS 9999999999999999999 (
:: Le nom du dossier est bien numérique
:: On essaye de traiter que les dossiers dont le nom est un nombre
echo TRAITEMENT DE !$nom!
if !$nom! LSS 10000 (
:: On ne rajoute des 0 devant que si le nombre contient au plus 4 chiffres
set $nom=00000!$nom!
set $nom=!$nom:~-5!
)
:: On rajoute un "P" devant
echo AU FINAL : P!$nom!
ren !$org! P!$nom!
)
)
echo TRAITEMENT TERMINE |
Partager