Bonjour,
Je fais un batch d'exportation de fichiers plats dans une base de donnée.
Celui ci s'exécute dans un répertoire comprenant tooooooooooooous les fichiers et je voudrais isoler seulement les fichiers des 3 derniers mois.
j'ai trouvé l'instruction "forfiles" qui semblait correspondre à mes attentes mais je bloque sur la condition de date
Partout où je cherche , je tombe sur la même explication alambiquée:
Sélectionne les fichiers avec une date de dernière modification dans le délai spécifié.
Sélectionne les fichiers avec une date de dernière modification postérieure ou égale à (+) ou antérieure ou égale (-) à la date spécifiée, dont la Date est au format MM/JJ/AAAA.
Sélectionne des fichiers avec une date de dernière modification postérieure ou égale à (+) la date du jour plus le nombre de jours spécifié, ou antérieure ou égale à (-) la date actuelle moins le nombre de jours spécifié.
Les valeurs valides pour les jours incluent n'importe quel nombre dans la plage 0 à 32, 768. Si aucun signe n'est spécifié, + est utilisé par défaut.
Là ce que je comprend c'est que par exemple je peux sélectionner les fichiers qui sont âgés de plus de 30 jours avec /D -30
OU sélectionner les fichiers qui "seront fait dans 30 jours et plus" avec /D +30 (Marty vite! à la DeLorean !!)
Donc je résume, je veux les fichiers âgés de 90 jours et moins, dois je faire un truc genre D/ +-90 pour dire je veux des fichiers "après" aujourd'hui -90 jours?
( je pourrais tester mais tous mes fichiers éligible à la commande qui vient après sont d'aujourd'hui! ballooooot)
Pour info mon code a cette tronche
FOR %%i IN (01 02 03 04 05 06 07 08 09 10 11 12) DO IF EXIST %%i%annee%.EXT (FORFILES /D -90 /M *%%i%annee%.EXT /C "cmd /c Export @FNAME ")
le FOR est important étant donné qu'il y a aussi des fichiers type AA%annee%.EXT que je veux pas exporter
Merci!
Partager