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 :
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.
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
Le code que j'utilise aujourd'hui :
Batch principal à appeler :
Le code du sous-programme del_dir.ba_ :
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 doit s'exécuter sous Windows 2003 serveur.
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 ..
Merci d'avance pour toute votre aide (je viens d'y passer l'après-midi).
Partager