Bonjour à tous,

Tout est dans le titre ! ^^

J'ai bien essayé "DIR /B" ou "DIR /X" mais cela n'affecte que les noms de fichiers. Et mes recherches sur Internet n'ont rien donné.

Un génie saurait-il me conseiller ?

Voilà plus d'informations sur mon besoin précis : j'ai un répertoire partagé avec un premier niveau de dossiers sur lesquels sont appliqués des droits particuliers pour chaque utilisateur. Je souhaite purger le contenu (fichiers et dossiers) du premier niveau de dossiers. Malheureusement, si ces dossiers comportent un espace ou font plus de 8 caractères, mon beau château s'écroule ! ^^

Exemple :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
rep_root
 + rep_01
     + file_01.txt
 + rep_02
     + rep_02_1
          + file_02.txt
     + rep_02_2
 + rep_03
Dans cet exemple, les dossiers rep_01, rep_02 et rep_03 seront conservés au final. Tous les autres dossiers et fichiers seront supprimés.

Le code que j'utilise aujourd'hui :

Batch principal à appeler :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
subst v: \\ressource\partage
copy del_dir.ba_ v:\del_dir.bat
v:
dir /b *. > liste.txt
for /f "tokens=*" %%i in (liste.txt) do call v:\del_dir.bat "%%i"
del /f /s /q *.*
dir /b /s *. > final.txt
subst v: /d
pause
Le code du sous-programme del_dir.ba_ :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
cd v:\%1
dir /b *. > liste.txt
for /f "tokens=*" %%i in (liste.txt) do rmdir /s /q "%%i"
del /f /s /q *.*
cd ..
Le code doit s'exécuter sous Windows 2003 serveur.

Merci d'avance pour toute votre aide (je viens d'y passer l'après-midi).