Bonjour,
Dans le cadre d'un projet, je souhaite sauvegarder et archiver des fichiers créé régulièrement par un logiciel. Jusqu'ici je passais par un logiciel classique de sauvegarde, mais je n'en suis pas pleinement satisfait. Je me suis donc tourné vers la création d'un script.
Mon script aura plusieurs fonction :
- Archiver (déplacer) des fichiers de plus de 21 jours dans un dossier d'archivage
- Copier des fichiers ayant moins de 21 jours dans un dossier de sauvegarde
- Ne pas copier le dernier fichier modifié
Je me suis donc lancé dans la création d'un script avec le lancement quotidien d'un fichier.bat via le planificateur de tâches de windows. Malgré mon niveau débutant en programmation, j'ai réussi à créer ce projet :
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
20 @echo off rem Sauvegarde et Archivage des fichiers rem Configuration set dossier_source=C:\ok\ set dossier_archivage=c:\ok\old\ set dossier_sauvegarde=c:\ok\copy\ set nb_jours_avant_archivage=21 rem Archivage des fichiers vieux de plus de xx jours forfiles /p %dossier_source% /m *.txt /c "cmd /c move @file %dossier_archivage%@file" /d -%nb_jours_avant_archivage% rem Suppression des fichiers vieux de plus de xx jours dans le dossier sauvegarde forfiles /p %dossier_sauvegarde% /m *.txt /c "cmd /c del @file" /d -%nb_jours_avant_archivage% rem Copie des fichiers modifié avant minuit vers le dossier de sauvegarde forfiles /p %dossier_source% /m *.txt /c "cmd /c copy @file %dossier_sauvegarde%@file" /d -1
Je bloque cependant sur le fait de ne pas copier le dernier fichier modifié situé dans mon dossier source. J'ai contourné le problème en ne copiant pas les fichiers créés dans la journée (/d -1) mais ce n'est pas pleinement satisfaisant.
Avez vous une idée pour que je puisse finaliser ce script ?
Merci
Partager