Effacer les fichiers vieux de plus de 2 mois .

Fermé
Tzmagnum Messages postés 129 Date d'inscription dimanche 9 août 2009 Statut Membre Dernière intervention 10 mai 2022 - 26 avril 2021 à 18:40
Tzmagnum Messages postés 129 Date d'inscription dimanche 9 août 2009 Statut Membre Dernière intervention 10 mai 2022 - 28 avril 2021 à 10:30
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

barnabe0057 Messages postés 14110 Date d'inscription lundi 2 mars 2009 Statut Contributeur Dernière intervention 27 novembre 2022 4 846
Modifié le 26 avril 2021 à 21:55
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.



“L'intelligence artificielle se définit comme le contraire de la bêtise naturelle.”
0
Tzmagnum Messages postés 129 Date d'inscription dimanche 9 août 2009 Statut Membre Dernière intervention 10 mai 2022
26 avril 2021 à 21:39
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
barnabe0057 Messages postés 14110 Date d'inscription lundi 2 mars 2009 Statut Contributeur Dernière intervention 27 novembre 2022 4 846 > Tzmagnum Messages postés 129 Date d'inscription dimanche 9 août 2009 Statut Membre Dernière intervention 10 mai 2022
Modifié le 26 avril 2021 à 21:57
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
Tzmagnum Messages postés 129 Date d'inscription dimanche 9 août 2009 Statut Membre Dernière intervention 10 mai 2022 > barnabe0057 Messages postés 14110 Date d'inscription lundi 2 mars 2009 Statut Contributeur Dernière intervention 27 novembre 2022
26 avril 2021 à 22:04
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
barnabe0057 Messages postés 14110 Date d'inscription lundi 2 mars 2009 Statut Contributeur Dernière intervention 27 novembre 2022 4 846 > Tzmagnum Messages postés 129 Date d'inscription dimanche 9 août 2009 Statut Membre Dernière intervention 10 mai 2022
26 avril 2021 à 22:06
Ok, à très vite alors.
0
Tzmagnum Messages postés 129 Date d'inscription dimanche 9 août 2009 Statut Membre Dernière intervention 10 mai 2022 > barnabe0057 Messages postés 14110 Date d'inscription lundi 2 mars 2009 Statut Contributeur Dernière intervention 27 novembre 2022
26 avril 2021 à 23:29
A peine je lance le fichier il se referme directement, c'est normal ?

Merci d'avance.
0
Tzmagnum Messages postés 129 Date d'inscription dimanche 9 août 2009 Statut Membre Dernière intervention 10 mai 2022
28 avril 2021 à 10:30
Ok j'essaye dès ce soir après mes heures de travail.

Merci, je te tiens au courant
0