Création de sous répertoire à partir d'une partie du nom de fichier d'une longeur variable
Bonjour
Je cherche à créer un répertoire en fonction du nom du fichier en pdf et à le regrouper par rapport aux 3 premiers caractères du nom.
Mes fichiers - Ils sont tous dans le mêmes répertoires
ABC_XY_490941_______le_20200115_a_13004794_au_20191231.pdf
ABC_XY_490942_______le_20200115_a_13005954_au_20191231.pdf
ABC_XY_4709271______le_20200115_a_13003184_au_20191231.pdf
...
Ce que j'arrive à faire
- Créer les répertoires 490 et 470
- Créer les sous répertoires
490941_______
490942_______
4709271______
- Déplacer les fichiers dans les sous répertories (exemple : le fichier ABC_XY_490941_______le_20200115_a_13004794_au_20191231.pdf dans \490\490941_______
Ce qui me pose problème
Je ne veux garder que les nombres pour mes sous-répertoires, je voudrais
490941
490942
4709271
La longueur de ces données est variable et peut contenir jusqu'à 13 caractères
Voici le code que j'utilise
Code:
1 2 3 4 5 6 7 8 9 10 11 12
| @echo off
setlocal enabledelayedexpansion
for %%i in (*.*) do (
if not %%i==EM.bat (
set rep=%%i
set rep0=!rep:~7,3!
set rep1=!rep:~7,13!
rename "%%i" "%%i.tmp"
md "!rep0!\!rep1!"
move "%%i.tmp" "!rep0!\!rep1!\%%i"
)
) |
J'ai essayé de faire des "choses" avec les commande (tokens+delims) mais c'est la catastrophe :(
Pourriez-vous m'aider dans la résolution de ce problème ?
Merci à vous :)