J'ai dans un répertoire 2400 fichiers à organiser en sous-répertoires qui ne sont pas encore créés.
Je souhaite créer automatiquement ces sous-répertoires en fonction des noms de fichiers : tous les fichiers dont les 34 premiers caractères sont identiques seront rangés dans un répertoire dont le nom sera constitué de ces 34 caractères, et ainsi de suite.
Par exemple, les fichiers FR075FMSH_000000051_8D3_art003-001_001.jpg et FR075FMSH_000000051_8D3_art003-001_002. jpg seront rangés dans un nouveau répertoire nommé FR075FMSH_000000051_8D3_art003-001.
J'ai retrouvé un batch que j'utilisais il y a quelques années mais, ne connaissant pas la programmation batch, j'ai complètement oublié les valeurs à modifier pour répondre à ce besoin:
Code : Tout sélectionner
@echo off
setlocal enabledelayedexpansion
for %%i in (*.*) do (
if not %%i==creation_repertoires.bat (
set rep=%%i
set rep1=!rep:~0,-4!
rename "%%i" "%%i.tmp"
md "!rep1!"
move "%%i.tmp" "!rep1!\%%i"
)
)
Code : Tout sélectionner
set rep1=!rep:~0,-4!
E.