Nouveau sur AutoIt - renommage de fichiers en masse avec la date

Aide et conseils concernant AutoIt et ses outils.
Règles du forum
.
Répondre
PierreM947
Niveau 1
Niveau 1
Messages : 4
Enregistré le : sam. 02 mai 2026 21:06
Status : Hors ligne

Nouveau sur AutoIt - renommage de fichiers en masse avec la date

#1

Message par PierreM947 »

Bonjour a tous,

Je debarque sur le forum alors je me presente rapidement : Pierre, je gere un petit parc informatique et je me suis mis a AutoIt pour automatiser les corvees repetitives sous Windows.

Pour mon premier vrai script, j'essaie de renommer en masse les fichiers d'un dossier en ajoutant la date du jour au debut du nom. J'ai regarde du cote de FileMove et de StringFormat, mais je m'emmele un peu avec la boucle sur FileFindFirstFile / FileFindNextFile. Est-ce que quelqu'un aurait un petit exemple de parcours de dossier pour ce genre de tache ?

Merci d'avance, et content de rejoindre la communaute.
Avatar du membre
walkson
Modérateur
Modérateur
Messages : 1039
Enregistré le : ven. 12 août 2011 19:49
Localisation : Hurepoix
Status : Hors ligne

Re: Nouveau sur AutoIt - renommage de fichiers en masse avec la date

#2

Message par walkson »

Bonjour,
Sur le bureau vous ouvrez un nouveau dossier avec des TXT à l 'intérieur
A l'invite, choisissez ce dossier (attention les noms des fichiers sont modifiés)

Code : Tout sélectionner

#include <MsgBoxConstants.au3>
#include <Date.au3>
	Local $date = _NowDate()
	$date = StringReplace($date,"/","-")
	ConsoleWrite($date & @CRLF)
    Local Const $sMessage = "Choisissez un dossier"

    ; Ouvre une boîte de dialogue pour sélectionner un dossier.
    Local $sFileSelectFolder = FileSelectFolder($sMessage, "")
    If @error Then
        ; Affiche le message d'erreur.
        MsgBox($MB_SYSTEMMODAL, "", "Aucun dossier n'a été sélectionné.")
    EndIf
Local $hSearch = FileFindFirstFile($sFileSelectFolder &"\*.txt")
    If $hSearch = -1 Then
        MsgBox($MB_SYSTEMMODAL, "", "Erreur: aucun fichier/répertoire ne correspond au motif de la recherche .")
    EndIf
   Local $iResult = $IDOK, $sFileName = FileFindNextFile($hSearch) ; premier fichier
	Local $i = 0
    While @error = 0 And $iResult = $IDOK
		$i += 1
		ConsoleWrite($i & @CRLF)
        ; Affiche le nom du fichier.
        $iResult = MsgBox(BitOR($MB_SYSTEMMODAL, $MB_OKCANCEL), "", "Fichier: " & $sFileName)
        ; Si l'utilisateur clique sur le bouton Cancel/Close, la boucle s'arrête.
		FileMove($sFileSelectFolder & "\" & $sFileName,$sFileSelectFolder & "\fichier " & $date &"-"& $i & ".txt",1 );modifie le nom

        $sFileName = FileFindNextFile($hSearch) ; fichier suivant
    WEnd

    ; Ferme Le handle de recherche.
    FileClose($hSearch)
Dans l'aide, vous avez des exemples. Vous pouvez aussi télécharger l'aide en français.
Cordialement,
Walkson
"Horas non numero nisi serenas " Le canon de midi
(Je ne compte que les heures heureuses)
Répondre