Inverser une date Batch
cedric
-
Cedric -
Cedric -
Bonjour,
Je souhaiterai renommer des fichiers sous le format AAAAMMJJ puis nom du fichier puis extension.
j'arrive à récupérer grace à un programme sur un forum la date puis le nom et l'extension mais je n'arrive pas à inverser la date. pourriez vous m'indiquer la ligne de commande et ou la placer dans mon programme svp. J''ai essaye de créer une variable dinv = %d:~6,4% %d:~3,2%
%d:~0,2%
mais cela ne fonctionne pas.
Voci mon code :
@echo off
set extension=JPG
setlocal enableDelayedExpansion
rem
rem dir /T:C pour avoir la date de création et non de modification
rem
for /F "tokens=1,2,3,*" %%a in ('dir /T:C *.%extension%^|findstr ".%extension%$"') do (
rem
rem on transforme la date JJ/MM/AAAA en JJ-MM-AAAA
rem parce que / et : sont interdits dans un nom de fichier
rem
set d=%%a
set d=!d:/=-!
rem
rem on recupère le nom du fichier sans l'extension
rem
set nom=%%~nd
rem
rem on renomme avec des " si il y a des noms avec espaces
rem
ren "%%d" "!d!_!nom!.%extension%")
merci pour votre aide.
Je souhaiterai renommer des fichiers sous le format AAAAMMJJ puis nom du fichier puis extension.
j'arrive à récupérer grace à un programme sur un forum la date puis le nom et l'extension mais je n'arrive pas à inverser la date. pourriez vous m'indiquer la ligne de commande et ou la placer dans mon programme svp. J''ai essaye de créer une variable dinv = %d:~6,4% %d:~3,2%
%d:~0,2%
mais cela ne fonctionne pas.
Voci mon code :
@echo off
set extension=JPG
setlocal enableDelayedExpansion
rem
rem dir /T:C pour avoir la date de création et non de modification
rem
for /F "tokens=1,2,3,*" %%a in ('dir /T:C *.%extension%^|findstr ".%extension%$"') do (
rem
rem on transforme la date JJ/MM/AAAA en JJ-MM-AAAA
rem parce que / et : sont interdits dans un nom de fichier
rem
set d=%%a
set d=!d:/=-!
rem
rem on recupère le nom du fichier sans l'extension
rem
set nom=%%~nd
rem
rem on renomme avec des " si il y a des noms avec espaces
rem
ren "%%d" "!d!_!nom!.%extension%")
merci pour votre aide.
5 réponses
-
yg_be Messages postés 23437 Date d'inscription Statut Contributeur Dernière intervention Ambassadeur 1 588
bonjour, "cela ne fonctionne pas" = ? messager d'erreur, résultat inattendu, ...? -
hello
C:> date /t
05/11/2017
C:> echo %date:~6,4%%date:~3,2%%date:~0,2%
20171105 -
Ce n'est pas la date du jour que je recupere mais la date de creation donc une chaine de caractere
-
Si tu copies mon programme et que tu mets un :
dinv=%d:~6,4%%d:~3,2%%d:~0,2%
et à la fin un
ren "%%d" "!dinv!_!nom!.%extension%")
cela ne fonctionne pas.
je n'ai aucun resultat. -
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question -
chez moi, c'est bien la date du fichier qui est dans le rename