Bonjour
Je suis photographe professionnel et je me permet de venir vous demander de l'aide.
J'essaye de créer un batch qui pourrait à partir d'un document csv ou txt renommer mes photos avec l'heure de capture et la date derrière puis de les ranger dans un dossier qui ne comporterez que le nom (sans heure de capture et date)

j'aurai dans ma première colonne le nom des fichiers des photos et dans la colonne 2 le nom de la personne que je veux identifier. Exemple:
_DSC0001.jpg MARCO POLO
_DSC0002.jpg MARCO POLO
_DSC0003.jpg JEAN MARTIN
_DSC0004.jpg JEAN MARTIN

Pour que ces photos se classe de façon chronologique, il serait super de les classer en commencer par l'année, le mois, le jour et l'heure de capture (ou de création). donc par exemple:
MARCO POLO@2019_10_29_14-25-25.jpg
et ensuite qu'elle se déplace dans un dossier qui s'appellerait simplement MARCO POLO

J'ai essayé avec des bouts de codes trouvés par ci par la de faire un batch mais soit ca ne fonctionne pas, soit je lance le batch et rien ne se passe.

Je vous laisse ces bouts de code.

Pour renommer mais le problème c'est que lorsque l'on exécute le batch, si 2 photos doivent porter le même noms alors la 2ème n'est pas renommées. D'où l'intérêt de lui donner une date et heure.

Code Batch : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
@echo off
for /F "tokens=1,2 delims=," %%j in (images.txt) do (
rename "%%j.jpg" %%k.jpg
)

Pour la date j'ai trouvé un code mais je n'arrive pas à y mettre la l'heure

Code Batch : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
@echo off
setlocal enabledelayedexpansion
for %%a in (*.jpg) do (
  for /f  "tokens=1 delims= " %%b in ('echo %%~ta') do (
   set "$date=%%b"
   set "$date=!$date:/=-!"
   ren "%%a" "%%~na_!$date!.jpg"))

et enfin pour classer les photos dans un dossier en ne prenant que le début marqué par un _ (underscore) pour ne pas avoir l'heure et la date
ce code quand à lui fonctionne parfaitement

Code Batch : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
@echo off
for %%f in (*.jpg) do (
for /f "tokens=1* delims=@" %%d in ("%%~nf") do (
md "%%d" 2>nul
copy "%%f" "%%d" >nul
))
pause

Est il possible de créer un seul batch qui réunirait tout cela ?

Désolé je ne suis pas expert mais j'essaye de trouver et de comprendre.
Merci beaucoup pour votre aide.