Bonjour à tous. Je viens vers vous car j'ai un problème de Batch.
Voilà je voudrais écrire un script de suppression. J'ai commencé mais ça beug...
En fait j'ai une arborescence du type (x étant un chiffre):
Test
-xxx
-blabla
-xxx_xxxxxx
-xxx_xxxxxx
-xxx_xxxxxx
-xxx
-xxx_xxxxxx
-xxx_xxxxxx
-xxxx
Donc j'aimerais parcourir Test, parcourir les dossiers "xxx" si à l'intérieur se trouve un dossier xxx_xxxxxx on le garde si il yen a plusieurs on garde le plus récent et on supprime les autres et si il y en a pas on garde ce qui s'y trouve.
J'ai fait un truc du genre mais ça ne fonctionne pas au niveau du echo (qui est un test avant de supprimer) j'ai une erreur la commande n'est pas reconnue
Voilà si quelqu’un pouvait m'aider je lui en serait reconnaissant. Merci.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13 echo off setlocal enabledelayedexpansion cls for /f "delims=" %%a in ('dir /AD /B "C:\Users\moi\Desktop\Test\" ^|findstr /i /r "[0-9][0-9][0-9]"') do ( for /f "delims=" %%x in ('dir /OD /AD /B "C:\Users\moi\Desktop\Test\%%a\" ^|findstr /i /r "[0-9]\_"') do set mostRecent=%%x for /f "delims=" %%i in ('dir /AD /B "C:\Users\moi\Desktop\Test\%%a\" ^|findstr /i /r "[0-9]\_"') do if not %%i == %mostRecent% echo coucou rem rmdir C:\Users\moi\Desktop\Test\%%a\%%i /s /q ) endlocal pause
Cordialement,
Chewby79
Partager