Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
744 connectés 

  FORUM HardWare.fr
  Programmation
  Shell/Batch

  Supprimer des fichiers précis, selon la date

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

Supprimer des fichiers précis, selon la date

n°2317218
silk7499
Posté le 22-06-2018 à 12:03:09  profilanswer
 

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

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


mood
Publicité
Posté le 22-06-2018 à 12:03:09  profilanswer
 


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  Shell/Batch

  Supprimer des fichiers précis, selon la date

 

Sujets relatifs
Déplacer plusieurs fichier en ajoutant la date[DOS] supprimer espace en fin de ligne
supprimer des mots dans une chaine c++ builderDéplacer des fichiers -> dossier avec une partie du nom des fichiers
Déplacer des fichiers avec les mêmes nomsUn moyen de supprimer les lignes d'un texte
Moyen le plus simple pour lire des fichiers CSV --> Tableauinjection donnée xls à partir d'une colone précise ?
supprimer certaines balises d'un fichier xmlComment identifier les fichiers ?
Plus de sujets relatifs à : Supprimer des fichiers précis, selon la date


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR