Bonjour,

Je viens vers vous car j'ai un petit souci. Je cherche à créer un batch qui me permettrait d'archiver tous les fichiers, sauf les 5 derniers, de chaque sous-dossier puis les supprimer. Je m'explique :

J'ai cette arborescence :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
C:
|_Test
     |_Dossier1
     |    |_toto1.txt
     |    |_toto2.txt
     |    |_toto3.txt
     |    |_toto4.txt
     |    |_toto5.txt
     |    |_toto6.txt
     |    |_toto7.txt
     |    |_toto8.txt
     |    |_toto9.txt
     |
     |_Dossier2
     |    |_toto1.txt
     |    |_toto2.txt
     |    |_toto3.txt
     |    |_toto4.txt
     |    |_toto5.txt
     |    |_toto6.txt
     |    |_toto7.txt
     |
     |_Dossier3
     |    |_toto1.txt
     |    |_toto2.txt
     |    |_toto3.txt
     |
     |_...
Et après exécution du batch je souhaiterais ce résultat :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
C:
|_Test
     |_Dossier1
     |    |_27-04-2016.zip
     |    |_toto5.txt
     |    |_toto6.txt
     |    |_toto7.txt
     |    |_toto8.txt
     |    |_toto9.txt
     |
     |_Dossier2
     |    |_27-04-2016.zip
     |    |_toto3.txt
     |    |_toto4.txt
     |    |_toto5.txt
     |    |_toto6.txt
     |    |_toto7.txt
     |
     |_Dossier3
     |    |_toto1.txt
     |    |_toto2.txt
     |    |_toto3.txt
     |
     |_...
Tout ce que je sais faire pour l'instant c'est de zipper les fichiers d'un répertoire dans un fichier nommé à la date du jour (via 7zip), puis les supprimer.

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
"C:\Program Files\7-Zip\7z.exe" a %date:~0,2%-%date:~3,2%-%date:~6,4%.zip *.txt
Del *.txt
Sauf que je veux que ça s'applique à l'ensemble des sous-dossiers de mon dossier "test", et pour chacun de ceux-ci garder les 5 derniers fichiers.

Merci de votre aide

<config>Windows 7 / Chrome 50.0.2661.87</config>