Page 1 sur 1
[R] Renommer fichier avec date + heure création
Posté : dim. 05 oct. 2008 13:21
par cl77184
Bonjour
Je suis à la recherche d'un script qui me permette de renommer un fichier en ajoutant dans le nom du fichier la date et heure de création du fichier (et non pas la date du jour).
Exemple : pour un fichier toto.txt créé le 01/01/2008 à 11:20
toto.txt ==> 01012008_1120_toto.txt
Quelqu'un peut-il m'aider ??
Merci d'avance.
PS : je débute sur autoit .
Re: Renommer fichier avec date + heure création
Posté : dim. 05 oct. 2008 14:23
par jbnh
essaye un peu ceci:
Code : Tout sélectionner
;********************************************************
$fichier = "C:\Users\JB\Desktop\test.txt"
;********************************************************
$file = StringTrimLeft($fichier,StringInStr($fichier,"\",0,-1))
$Path = StringLeft($fichier,StringInStr($fichier,"\",0,-1)-1)
$t = FileGetTime($fichier , 1)
If Not @error Then
$yyyymd = $t[2] & "" & $t[1] & "" & $t[0] & "_"&$t[3]& $t[4]
FileMove($fichier, $Path&"\"&$yyyymd&"_"&$file)
EndIf
Re: [..] Renommer fichier avec date + heure création
Posté : dim. 05 oct. 2008 14:26
par sylvanie
Jbnh a été un poil plus rapide ^^
Mais bon maintenant que j'ai fait une mouture je la propose :
► Afficher le texte
Code : Tout sélectionner
#Include <File.au3>
#cs
exple d'appelle de la fonction
#ce
$fichier="toto.txt"
If Not Rename_file_with_date($fichier) Then
Switch @error
case 1
MsgBox(16,"Erreur","Le fichier "&$fichier&" n'existe pas")
case 2
MsgBox(16,"Erreur","Impossible de déplacer "&$fichier)
EndSwitch
exit 1
EndIf
MsgBox(0,"OK","Le renommage s'est correctement effectué")
Exit 0
#cs
Fonction renommant un fichier avec une date / heure en ppréfixe
Retourne 1 si OK, 0 sinon
#ce
Func Rename_file_with_date($file)
Local $prefix
Local $drive,$dir,$name,$extension
Local $info_path
SetError(0)
;si fichier n'existe pas => erreur
If Not FileExists($file) Then
SetError(1)
return 0
EndIf
; on récupère le chemin entier du fichier (pour le cas on on le passe de manière relative et non absolue)
$file=_PathFull($file)
;on décompose le chemin
$info_path=_PathSplit($file , $drive, $dir, $name, $extension)
;construction du prefixe
$prefix=@MDAY&@MON&@YEAR&"_"&@HOUR&@MIN&"_"
;renommage, qui en réalité pour autoit se traduit faute de mieux par un move
If Not FileMove($file,$drive&$dir&$prefix&$name&$extension,1) Then
SetError(2)
Return 0
EndIf
Return 1
EndFunc
Re: [..] Renommer fichier avec date + heure création
Posté : dim. 05 oct. 2008 15:17
par jbnh
@ sylvanie , ton code est bien clair mais il renomme le fichier avec la date actuelle et non la date de création !
Vla la correction (j'ai juste change le prefix avec filegettime ^^)
► Afficher le texte
Code : Tout sélectionner
#Include <File.au3>
#cs
exple d'appelle de la fonction
#ce
$fichier="toto.txt"
If Not Rename_file_with_date($fichier) Then
Switch @error
case 1
MsgBox(16,"Erreur","Le fichier "&$fichier&" n'existe pas")
case 2
MsgBox(16,"Erreur","Impossible de déplacer "&$fichier)
EndSwitch
exit 1
EndIf
MsgBox(0,"OK","Le renommage s'est correctement effectué")
Exit 0
#cs
Fonction renommant un fichier avec une date / heure en ppréfixe
Retourne 1 si OK, 0 sinon
#ce
Func Rename_file_with_date($file)
Local $prefix
Local $drive,$dir,$name,$extension
Local $info_path
SetError(0)
;si fichier n'existe pas => erreur
If Not FileExists($file) Then
SetError(1)
return 0
EndIf
; on récupère le chemin entier du fichier (pour le cas on on le passe de manière relative et non absolue)
$file=_PathFull($file)
;on décompose le chemin
$info_path=_PathSplit($file , $drive, $dir, $name, $extension)
;construction du prefixe
$t = FileGetTime($fichier , 1)
$prefix= $t[2] & "" & $t[1] & "" & $t[0] & "_"&$t[3]& $t[4]&"_"
;renommage, qui en réalité pour autoit se traduit faute de mieux par un move
If Not FileMove($file,$drive&$dir&$prefix&$name&$extension,1) Then
SetError(2)
Return 0
EndIf
Return 1
EndFunc
Re: [..] Renommer fichier avec date + heure création
Posté : dim. 05 oct. 2008 15:50
par sylvanie
Ah bah oui, faut que j'arrête de lire en diagonale

Re: [..] Renommer fichier avec date + heure création
Posté : dim. 05 oct. 2008 16:40
par cl77184
un GRAND ++++ merci à tous les 2.
J'ai juste apporté une modification car je m'étais mal exprimée dans ma demande.
C'était en fait la date de modification du fichier et non la date de création.
J'ai donc remplacé
$t = FileGetTime($fichier , 1) par $t = FileGetTime($fichier , 0)