Bonjour,
J’ai un petit souci avec la création d’un fichier bat, et j’aimerais savoir si quelqu’un serait en mesure de m’aider
Je m’explique : toutes les minutes, j’ai un certain nombre de machines qui renvoient des fichiers log
Ceux ci sont nommés : AAAA-MM-JJ-hh-mm-ss-ref_machine.log
Ces fichiers log sont automatiquement exportés et regroupés vers un dossier, sur une machine distante où ils sont traités «*au fil de l’eau*» (premier arrivé, premier à passer ds un logiciel de vérification/concaténation des données)
Tout marche très bien donc, forcément, ça ne pouvait pas durer
Il est maintenant demandé que les logs soient traités toutes les heures, à rebours (le dernier arrivé, puis l’avant dernier, ...) or, le logiciel ne m’offre pas la possibilité de trier les fichiers en entrée
Je cherche donc à modifier le nom de la palanquée de log, afin d’y inclure un numéro de compteur
Par exemple : 0001-2019-10-14-10-00-00-machineX ; 0002-2019-10-14-10-00-00-machineY ; [...] ; 0042-2019-10-14-09-57-00-machineX ; etc
Pour ce faire, j’ai commencé un petit script batch que voici :
Code Batch : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5 @echo off set nb_log = 0 for %%a in (*.log) do set /a nb_log = nb_log + 1 for %%a in (*.log) do ( ren "%%~a" "%nb_log - %%~na%%~xa" & set /a nb_log = nb_log -1)
Ce que je voulais faire :
- compter le nbre de log dans le dossier (boucle +)
- pour chaque log, le renommer en ajoutant le numéro de compteur (sur 4, voire 5 chiffres ... je ne sais pas comment forcer cela : boucle conditionnelle ?) et diminuer le compteur (boucle moins)
Ce que ça fait :
- compter le nombre de log
- ajouter à tous les noms de fichier, le nombre total de log (sur 2 chiffres si moins de 100, 3 chiffres si moins de 1000, etc ...)
Fin du pavé ; quelqu’un sait-il comment m’aider à débloquer cela ?
Merci d’avance !
Alex
Partager