PB rotation de dossier BAT

jarjar4545 Messages postés 27 Date d'inscription   Statut Membre Dernière intervention   -  
jarjar4545 Messages postés 27 Date d'inscription   Statut Membre Dernière intervention   -
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
A voir également:

5 réponses

dubcek Messages postés 18789 Date d'inscription   Statut Contributeur Dernière intervention   5 637
 
il y a là dans les exemples, l'utilisation de @isdir
c'est une variable vraie ou fausse, pas un nom de fichier
https://docs.microsoft.com/en-us/previous-versions/windows/it-pro/windows-server-2008-R2-and-2008/cc753551(v=ws.10)?redirectedfrom=MSDN
1
dubcek Messages postés 18789 Date d'inscription   Statut Contributeur Dernière intervention   5 637
 
hello
la variable @isdir de FORFILES permet des tester si le fichier est un répertoire
0
jarjar4545 Messages postés 27 Date d'inscription   Statut Membre Dernière intervention   14
 
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
jarjar4545 Messages postés 27 Date d'inscription   Statut Membre Dernière intervention   14
 
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

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
jarjar4545 Messages postés 27 Date d'inscription   Statut Membre Dernière intervention   14
 
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