[BATCH] Suppresion des x plus vieux fichiers
Résolu/Fermé
A voir également:
- [BATCH] Suppresion des x plus vieux fichiers
- Fichier batch - Guide
- Wetransfer gratuit fichiers lourd - Guide
- Renommer des fichiers en masse - Guide
- Direct x runtime - Télécharger - Pilotes & Matériel
- Windows 10 allégé pour vieux pc - Télécharger - Systèmes d'exploitation
7 réponses
Alors j'ai un peu avancer. Le problème vient du fait que la variable compt2 ne s'incrémente pas dans la boucle for. J'ai vaguement entendu parler d'une méthode avec des ! Ca vous dit quelque chose ?
J'ai également déclarer la variable compt2 avant la portion de code que je vous ai donnée car elle ne se déclarait pas.
J'ai également déclarer la variable compt2 avant la portion de code que je vous ai donnée car elle ne se déclarait pas.
Yop,
j'ai pratiquement fini. Je vous poste la portion de code
[code]
setlocal enableDelayedExpansion
rem CALCUL DU NOMBRE DE FICHIERS A SUPPRIMER
set /a nb_files_to_del=%compt%-100
set /a compt2=0
rem SUPPRESION DES FICHIERS TROP VIEUX
if %nb_files_to_del% gtr 0 (
echo.
echo Suppression des %nb_files_to_del% plus vieux traces
for %%X in ("\\adresse_du_dossier_sur_le_serveur\*.*") do (
if !compt2! lss %nb_files_to_del% (
del %%X
set /a compt2+=1
echo suppresion du fichier %%X
)
)
)
echo.
echo Sauvegarde effectuee avec succes
pause
[/code]
Un dernier problème se pose cependant : le boucle parcourt le dossier par ordre alphabétique alors que je voudrais le parcourir par date de dernière modification (qu'importe le sens). Avez-vous une idée ?
j'ai pratiquement fini. Je vous poste la portion de code
[code]
setlocal enableDelayedExpansion
rem CALCUL DU NOMBRE DE FICHIERS A SUPPRIMER
set /a nb_files_to_del=%compt%-100
set /a compt2=0
rem SUPPRESION DES FICHIERS TROP VIEUX
if %nb_files_to_del% gtr 0 (
echo.
echo Suppression des %nb_files_to_del% plus vieux traces
for %%X in ("\\adresse_du_dossier_sur_le_serveur\*.*") do (
if !compt2! lss %nb_files_to_del% (
del %%X
set /a compt2+=1
echo suppresion du fichier %%X
)
)
)
echo.
echo Sauvegarde effectuee avec succes
pause
[/code]
Un dernier problème se pose cependant : le boucle parcourt le dossier par ordre alphabétique alors que je voudrais le parcourir par date de dernière modification (qu'importe le sens). Avez-vous une idée ?
Bon j'avance tout seul, à tatillons. Je continue à poster ici dans l'espoir qu'une personne qualifiée m'aide à finir mon script.
Maintenant j'arrive à parcourir le dossier dans l'ordre de dernière date de modification. Seul hic, j'ai l'impression que ce n'est plus le fichier qui est contenu dans %%X. Je m'explique, voici le résultat que me sort la console :
"Suppression des 5 plus vieux traces"
"Suppresion du fichier Le volume dans le lecteur \\mon_dossier_sur_le_serveur est Bureautique"
"Suppression du fichier Le numéro de série du volume est XXXX-XXXX"
"Suppression du fichier Répertoire de \\mon_dossier_sur_le_serveur"
"Suppression du fichier 11/08/2008 20:26 59 259 banniere.jpg"
"Suppression du fichier 21/08/2008 21:04 1 920 sounds.js"
et voici le code qui génère ça :
Maintenant j'arrive à parcourir le dossier dans l'ordre de dernière date de modification. Seul hic, j'ai l'impression que ce n'est plus le fichier qui est contenu dans %%X. Je m'explique, voici le résultat que me sort la console :
"Suppression des 5 plus vieux traces"
"Suppresion du fichier Le volume dans le lecteur \\mon_dossier_sur_le_serveur est Bureautique"
"Suppression du fichier Le numéro de série du volume est XXXX-XXXX"
"Suppression du fichier Répertoire de \\mon_dossier_sur_le_serveur"
"Suppression du fichier 11/08/2008 20:26 59 259 banniere.jpg"
"Suppression du fichier 21/08/2008 21:04 1 920 sounds.js"
et voici le code qui génère ça :
echo Suppression des %nb_files_to_del% plus vieux traces for /F "delims=" %%X in ('dir /o:d "\\mon_dossier_sur_le_serveur\*.*"') do ( if !compt2! lss %nb_files_to_del% ( rem del %%X set /a compt2+=1 echo suppression du fichier %%X ) )
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
teebo
Messages postés
33491
Date d'inscription
jeudi 14 octobre 2004
Statut
Modérateur
Dernière intervention
24 février 2011
1 793
7 oct. 2008 à 13:08
7 oct. 2008 à 13:08
Hello
Essaye aussi de lancer ton bat directement dans une fenêtre de cmd (elle ne se fermera pas après et tu pourras voir ce qui c'est passé...)
Essaye aussi de lancer ton bat directement dans une fenêtre de cmd (elle ne se fermera pas après et tu pourras voir ce qui c'est passé...)
zavenger
Messages postés
811
Date d'inscription
vendredi 29 février 2008
Statut
Membre
Dernière intervention
20 avril 2012
161
7 oct. 2008 à 16:13
7 oct. 2008 à 16:13
rajoute un /B a ta commande dir