Partage
  • Partager sur Facebook
  • Partager sur Twitter

Supprimer des fichiers précis, selon la date

    21 juin 2018 à 11:32:19

    Bonjour, je souhaiterai, comme indiqué dans le titre, supprimer des fichiers précis en fonction du nom d'un dossier et de la date du système, j'ai le début de mon programme ci dessous, et à la fin, il y a en gros ce que j'aimerai faire, j'ai cherché pas mal et je commence à me débrouiller, mais j'ai pas forcément trouvé ce que je veux sur internet... Mon code est intégralement commenté au cas ou.

    Sous windows, en fichier batch .bat

    Si vous pourriez m'aider ce serait super cool ! Merci à vous :)

    ::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




    -
    Edité par HugoMerle1 21 juin 2018 à 11:33:43

    • Partager sur Facebook
    • Partager sur Twitter
      2 août 2018 à 9:38:35

      Perso quand je gère des fichiers avec la date dedans je fait un truc très simple pour les nom je les met au format AAAAMMJJ

      comme ca c'est assez simple si tu veux virer tout ce qui n'est pas d'aujourd'hui c'est tous les fichier donc le nombre AAAAMMJJ est inférieur au même nombre au format du jour ;)

      • Partager sur Facebook
      • Partager sur Twitter

      Supprimer des fichiers précis, selon la date

      × Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
      × Attention, ce sujet est très ancien. Le déterrer n'est pas forcément approprié. Nous te conseillons de créer un nouveau sujet pour poser ta question.
      • Editeur
      • Markdown