PB rotation de dossier BAT

jarjar4545 Messages postés 29 Statut Membre -  
jarjar4545 Messages postés 29 Statut Membre -
Bonjours,

Je suis en train de modifier mon script de sauvegarde et bath, j'ai rencontré un problème au niveau de la rotation des dossiers.
Je souhaité gardé une historisation sur 5 jours.
J'ai trouvé ce ci sur le net et je voudrai l'adapté pour supprimer les fichiers et les dossiers.

rem Cette variable définie le dossier qu'il faut purger :
set chemin="B:\Sauvegarde\Jeux"

rem Cette variable définie le nombre de jour que doivent être garder les fichiers:
set jours=5

forfiles /p %chemin% /s /d -%jours% /m *.* /c "cmd /c del @FILE"

Mon problème c'est que ce script surprime que les fichiers mais pas les dossiers.

Ci quel qu'un a une idée ou une solution,

Merci d'avance

5 réponses

  1. dubcek Messages postés 18627 Date d'inscription   Statut Contributeur Dernière intervention   5 659
     
    hello
    la variable @isdir de FORFILES permet des tester si le fichier est un répertoire
    0
  2. jarjar4545 Messages postés 29 Statut Membre 15
     
    Bonjours dubcek et merci pour cette variable, malheureusement je n'est pas réussie a le faire marché correctement.

    Pour commencer j'ai tester la commande suivant:

    forfiles /p %chemin% /s /d -%jours% /m *.* /c "cmd /c del @isdir

    Il me mes comme comme message:
    Impossible de trouver "il affiche le chemin de la sources que je lui est renseigné".

    Après j'ai essayer avec cette commende:

    forfiles /p %chemin% /s /d -%jours% /m *.* /c "cmd /c rd @isdir

    ou j'ai remplacer le "del" par un "rm"

    et la il me mes comme message :

    Le fichier spécifié est introuvable.

    Aurai tu une idée ou une autre solution a mon problème.

    Merci d'avance.
    0
  3. jarjar4545 Messages postés 29 Statut Membre 15
     
    Bonjours Dubcek

    Merci pour le lien

    J'ai regarder le lien que tu ma donnée, j'ai fait des tests, mais après le True je n'arrive pas a mettre un RD pour supprimé les dossiers.

    voila ce que sa donnes

    @echo off
    cls

    rem VARIABLES / CONSTANTES :
    rem ------------------------------------------------------------

    rem Cette variable définie le dossier qu'il faut purger :
    set chemin="B:\Sauvegarde"

    rem Cette variable définie le nombre de jour que doivent être garder les fichiers:
    set jours=1

    rem ------------------------------------------------------------

    forfiles /p %chemin% /s /d -%jours% /m *.* /c "cmd /c if @ISDIR==TRUE rd /S /Q"

    J'ai trouver cette commande sur le Net, mais quand je me bas sur celle la il m'affiche que le premier dossier.

    forfiles -pz:\ -d-30 -c"cmd /c if @ISDIR==TRUE echo @FILE"

    Le site ou j'ai trouver cette commande

    https://www.clubic.com/forum/t/effacer-automatiquement-dossiers-de-plus-de-x-jours/396467

    Je pence que la commande dois être bonne, mais que je doit pas l'utiliser de la bonne façon.

    Ci tu vois mon erreur ou ci tu a une autre solution

    Merci d'avance.
    0
  4. Vous n’avez pas trouvé la réponse que vous recherchez ?

    Posez votre question
  5. jarjar4545 Messages postés 29 Statut Membre 15
     
    Bonjour,

    Je reviens vers vous pour demandé de l'aide, de puis ce temps je suis toujours bloqué au même stade.

    Merci d'avance.
    0