Bonjour,
J'ai un script *.bat qui traite des fichiers en entrée.
Durant le traitement, il génère, pour chaque fichier en entrée, une série de fichiers.
Je souhaite horodater ces fichiers générés, afin de ne pas les écraser si je traite plusieurs fichiers en entrée à la suite.
Tout marche bien, au détail près de... l'horodatage !
En fait, j'ai beau passer plusieurs fois dans la boucle, la variable "dt" conserve sa valeur initiale.
Code batch : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19 @echo off rem Parcours de tous les fichiers en attente for /f %%f in ('dir /b in') do ( echo Traitement du fichier %%f rem Récupération de la date et heure for /f "delims=" %%a in ('wmic OS Get localdatetime ^| find "."') do set dt=%%a rem Traitement des fichiers qui dure plusieurs secondes (...) rem Archivage des derniers fichiers générés copy "out\*.csv" "out\archives\*.%dt:~0,14%" /Y del "out\*.csv" /F /Q rem Archivage du fichier traité move "in\%%f" archives )
Partager