1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35
|
::N'affiche pas les commandes dans le CMD
@echo off
::Repertoire où ls commandes vont s'effectuer
cd C:\FTP
::Renomme backup.conf avec la date du système au format JJ.MM.AAAA
ren "backup.conf" "%DATE:~0,2%.%DATE:~3,2%.%DATE:~6,4%.conf"
::Donne à la variable file_ext, la valeur *.conf
set file_ext="*.conf"
::donne à la variable mois, le mois actuel du systeme
set mois=%DATE:~3,2%
::Pour les fichiers qui ont l'extension .conf, faire :
For %%a in (%file_ext%) do (
::Séparer en 3 le nom des fichiers, chaque bloc est séparé par le caractère ".",
For /f "tokens=1-3 delims=." %%b in ("%%a") do (
::La variable date, prends la valeur de la 2e partie %%c, du nom du fichier (06, pour le mois de juin par exemple)
set date=%%c
::Si le dossier du mois actuel correspondant au nom du fichier n'existe pas, alors on le créer
If not exist "C:\FTP\%%c" (mkdir "C:\FTP\%%c")
::Deplacer le fichier .conf dans le dossier en question
Move /Y "%%a" "%%c\%%a" >nul
))
pause
:: Ce programme, renomme un fichier backup.conf avec la date actuelle du système, et le place dans un dossier qui se nomme par le mois actuel du système (Jusqu'ici, il fonctionne très bien).
:: Je souhaiterai idéalement que :
:: → Quand le dossier %%c, est égal à date du systeme -1, supprimer tout les fichiers .conf dans le dossier %%c et laisser le dernier.
:: → Pour éclaircir le truc avec un exemple : Le dossier 06(mois de juin) comporte 5 fichiers .conf.
:: → quand je passe en 07(juillet), il supprime 01.06.2018.conf, 08.06.2018.conf, 15.06.2018.conf, 22.06.2018.conf et laisse impérativement 29.06.2018.conf |
Partager