Batch Index du Forum
S’enregistrerRechercherFAQMembresGroupesConnexion
Répondre au sujet Page 1 sur 1
Exclure des dossiers d'une recherche
Auteur Message
Répondre en citant
Message Exclure des dossiers d'une recherche 
Bonjour, je suis encore débutant en bash

J'ai comme mission de mettre en place un bash qui supprimera certains contenus de plus de 7 jours ou de 30 jours selon le dossier

J'ai pour le moment le code suivant qui me permet de supprimer les fichiers anciens (7jours) mais j'aimerais exclure certains dossiers de cette recherche pour les supprimer à 30 jours.

Code:

forfiles /s /p "d:\backup" /m *.* /c "cmd /c if @isdir==FALSE del @file"  /d -7
ForFiles /P "d:\backup"  /D -7 /C "CMD /C if @ISDIR==TRUE echo RD /Q /S @FILE &RD /Q /S @FILE"


Cela supprime comme je le veut les fichiers et dossiers malheureusement je devrait noter ces 2 lignes (modifier selon 7 ou 30 jours) pour CHAQUE sous dossiers (plus d'une centaine)
Je cherche donc une autre solution en utilisant une boucle FOR mais je ne sais pas si je pourrait inclure les deux paramètres 7 ou 30 jours selon les dossiers.

A l'aide ! Smile



Message Publicité 
PublicitéSupprimer les publicités ?


Répondre en citant
Message Exclure des dossiers d'une recherche 
Bonjour
connais tu le nom des dossiers que tu ne souhaites pas supprimer est ce toujours les memes

quelle est la structure de ton dossier backup

regarde la doc sur la boucle for, tu as un paramètre pour afficher la date il me semble -> %~tI




______________________________________________________
Faites paraitre votre batch sur BatchClipboard
Visiter le site web du posteur
Répondre en citant
Message Exclure des dossiers d'une recherche 
le dossier backup est construit de la maniere suivante

Backup
-------->nomserveur
------------------------ ->Archives
--------------------------------------->nomarchive (contient les fichiers a supprimer)

Concernant les dossiers à ne pas supprimer ils n'ont pas le même nom mais ont touts dans leur nom "BDDLine"

J'avance grace à cette commande

Code:
FOR /D /r %%G in ("*bddline*") DO forfiles /s /p %%G /m *.* /c "cmd /c if @isdir==FALSE del @file"  /d -0


Elle supprime effectivement les fichiers comme je le désire uniquement dans les dossiers BDDLine
Le top serait de pouvoir supprimer le fichier le PLUS vieux en comparant par rapport à la date des autres ... Wink



Message Exclure des dossiers d'une recherche 


Montrer les messages depuis:
Répondre au sujet Page 1 sur 1
  



Index | créer un forum | Forum gratuit d’entraide | Annuaire des forums gratuits | Signaler une violation | Conditions générales d'utilisation
Copyright 2008 - 2016 // Batch