Effacer les fichiers vieux de plus de 2 mois .

Tzmagnum Messages postés 132 Statut Membre -  
Tzmagnum Messages postés 132 Statut Membre -
Bonjour,

J'aimerais avec mon code effacer les fichiers vieux de plus de 2 mois dans ces répertoires et garder les plus récent qui ont été créer il y'a moins de 2 mois, j'utilise Windows 10 Entreprise, et je souhaite que ce soit fait par un fichier batch.

J'ai essayé les solutions trouvées sur plusieurs forum, cependant je n'y arrive pas.

Quelqu'un pourrais m'aider svp ?

Si en même temps mon code de base doit-être améliorer n'hésitez pas.

Voici le code de base que j'utilisais avant quand je pouvais effacer tous les fichiers sans garder ceux des 2 derniers mois :


@echo "Le nettoyage des fichiers va commencer, veuillez appuyer sur une touche de votre clavier, patienter et attendre que cela vous affiche 'Fichiers effacés avec succès' svp"
@pause
@cls
@echo "Un instant svp ..."
@del "C:\OPERATIONS\VISUEL ACTIF\EXECUTABLE\2018\"*.* /q
@del "C:\OPERATIONS\VISUEL ACTIF\EXECUTABLE\2018\A prendre\"*.* /q
@del "C:\OPERATIONS\VISUEL ACTIF\EXECUTABLE\2019\A laisser\"*.* /q
@del "C:\OPERATIONS\VISUEL ACTIF\EXECUTABLE\2019\Encore dispo\"*.* /q
@del "C:\OPERATIONS\VISUEL ACTIF\EXECUTABLE\2020\"*.* /q
@del "C:\OPERATIONS\VISUEL ACTIF\EXECUTABLE\2020\Dossier introuvable\"*.* /q
@del "C:\OPERATIONS\VISUEL ACTIF\EXECUTABLE\2021\"*.* /q
@del "C:\OPERATIONS\VISUEL ACTIF\EXECUTABLE\2021\Dossier introuvable\"*.* /q
@del "C:\OPERATIONS\Propriété\EXECUTABLE\2018\"*.* /q
@del "C:\OPERATIONS\Propriété\EXECUTABLE\2019\"*.* /q
@del "C:\OPERATIONS\Propriété\EXECUTABLE\2020\"*.* /q
@del "C:\OPERATIONS\Propriété\EXECUTABLE\2021\"*.* /q
@echo "Fichiers effacés avec succès, appuyer sur une touche de votre clavier pour quitter"
@pause


Configuration: Windows 10 Entreprise / Chrome 89.0.4389.128

2 réponses

  1. barnabe0057 Messages postés 14329 Date d'inscription   Statut Contributeur Dernière intervention   4 930
     
    Bonjour,

    Pour sélectionner des fichiers en fonction de leur ancienneté, il existe la commande FORFILES :
    https://ss64.com/nt/forfiles.html

    Si ça serait pour moi, voilà ce que je ferais :

    @echo off
    chcp 65001 >nul
    
    echo. & echo Le nettoyage des fichiers va commencer, veuillez appuyer sur une touche de votre clavier, patienter et attendre que cela vous affiche 'Fichiers effacés avec succès' svp
    echo. & pause
    cls
    echo. & echo Un instant svp ...
    
    echo. & pushd "C:\OPERATIONS\VISUEL ACTIF\EXECUTABLE"
    call :nettoyage 2018 "2018\A prendre" "2019\A laisser" "2019\Encore dispo" 2020 "2020\Dossier introuvable" 2021 "2021\Dossier introuvable"
    
    echo. & pushd "C:\OPERATIONS\Propriété\EXECUTABLE"
    call :nettoyage 2018 2019 2020 2021
    
    echo. & echo Fichiers effacés avec succès, appuyer sur une touche de votre clavier pour quitter
    pause
    exit
    
    :nettoyage
    forfiles /p "%CD%\%~1" /c "cmd /c IF @isdir == FALSE del /f /q @path" /d -61
    if not "%~2"=="" (echo. & shift & goto :nettoyage)
    popd & goto :eof


    Si tu as des questions n'hésite pas.

    0
    1. Tzmagnum Messages postés 132 Statut Membre
       
      Bonjour,

      Merci pour ta réponse cela effacera bien que les fichiers *.* qui date d’il y’a plus de 2 mois (même ceux avec des espaces dans les noms) et pas les dossiers stp ?

      Merci d’avance
      0
    2. barnabe0057 Messages postés 14329 Date d'inscription   Statut Contributeur Dernière intervention   4 930 > Tzmagnum Messages postés 132 Statut Membre
       
      La commande DEL n'est pas capable d'effacer des dossiers, uniquement des fichiers.
      Pas de problème pour les espaces dans les noms, c'est géré.

      Concernant l'ancienneté des fichiers j'ai indiqué 61 jours, donc les fichiers de plus de 2 mois, je te laisse tester cela car c'est la seule chose que je n'ai pu réellement tester. Essaie sur un échantillon.

      edit : j'ai légèrement modifié le script, j'avais une boucle FOR inutile.
      0
    3. Tzmagnum Messages postés 132 Statut Membre > barnabe0057 Messages postés 14329 Date d'inscription   Statut Contributeur Dernière intervention  
       
      Ok encore merci je vais tester cela dès que je le peux et je te dis ce qu’il en est, pour ton information.
      0
    4. barnabe0057 Messages postés 14329 Date d'inscription   Statut Contributeur Dernière intervention   4 930 > Tzmagnum Messages postés 132 Statut Membre
       
      Ok, à très vite alors.
      0
    5. Tzmagnum Messages postés 132 Statut Membre > barnabe0057 Messages postés 14329 Date d'inscription   Statut Contributeur Dernière intervention  
       
      A peine je lance le fichier il se referme directement, c'est normal ?

      Merci d'avance.
      0
  2. Tzmagnum Messages postés 132 Statut Membre
     
    Ok j'essaye dès ce soir après mes heures de travail.

    Merci, je te tiens au courant
    0