MS DOS
Surok
-
codeurh24 Messages postés 760 Date d'inscription Statut Membre Dernière intervention -
codeurh24 Messages postés 760 Date d'inscription Statut Membre Dernière intervention -
Bonjour,
Je cherche à créer un script bat afin de compter le nombre de fichier dans un répertoire, et ensuite, si ce nombre est supérieur à 10 vider ce répertoire.
Etant vraiment débutante si vous avez des réponses très claires et basiques je suis preneuse.
Merci d'avance
Je cherche à créer un script bat afin de compter le nombre de fichier dans un répertoire, et ensuite, si ce nombre est supérieur à 10 vider ce répertoire.
Etant vraiment débutante si vous avez des réponses très claires et basiques je suis preneuse.
Merci d'avance
2 réponses
Bonjour
Code en batch
Voilà déjà un bout de code qui compte le nombre de fichiers dans le répertoire
Pour l'instant ça met le résultat dans le fichier resultat.txt
Moi aussi je débute dans ce langage.
Je vais essayer de faire la partie qui supprime les fichiers.
@+
Code en batch
Voilà déjà un bout de code qui compte le nombre de fichiers dans le répertoire
Pour l'instant ça met le résultat dans le fichier resultat.txt
echo off for /r "nom_repertoire" %%i in (*.*) do set /a compt+=1 echo %compt% echo %compt% >>resultat.txt )
Moi aussi je débute dans ce langage.
Je vais essayer de faire la partie qui supprime les fichiers.
@+
créer un fichier bat dans le dossier des fichiers a supprimer.
si il y a 10 fichiers il seront tous supprimés sauf le fichier bat
si il y a 10 fichiers il seront tous supprimés sauf le fichier bat
@echo off
set /a compteurBoucle=0
setlocal ENABLEDELAYEDEXPANSION
rem Compte le nombre de fichier
for /r .\ %%X in (*.*) do (
set /a compteurBoucle=compteurBoucle+1
echo !compteurBoucle!
rem si on compte 10 fichiers
rem on ce rend a la ligne :deletable
if !compteurBoucle!==2 goto deletable
)
goto end
:deletable
echo Effacement
rem pour chaque fichier
for /f "delims=" %%f in ('dir /b') do (
rem si le fichier en cour, n'est pas le ficher bat executé
rem on supprime ce fichier
IF NOT "%%f" == "%~nx0" DEL /F /Q "%%f"
)
:end
echo Fin
pause
Mais je ne sais pas trop comment mettre la condition si plus de 10 fichiers mais je sais mettre une date limite (date de plus de x jours)