[DOS] Supprimer dossiers vides

Fermé
aKuma59 Messages postés 104 Date d'inscription samedi 19 juillet 2008 Statut Membre Dernière intervention 28 janvier 2018 - 23 oct. 2010 à 20:57
_Maniak_ Messages postés 115 Date d'inscription vendredi 2 octobre 2015 Statut Membre Dernière intervention 30 novembre 2015 - 2 oct. 2015 à 10:21
Bonsoir,

Savez vous comment supprimer tout les dossiers vides d'un répertoire ? (via un batch)

Merci d'avance,
Cordialement,
Morgan.

5 réponses

aKuma59 Messages postés 104 Date d'inscription samedi 19 juillet 2008 Statut Membre Dernière intervention 28 janvier 2018 6
25 oct. 2010 à 10:06
Up ?
0
thanassos Messages postés 1706 Date d'inscription lundi 19 février 2007 Statut Contributeur Dernière intervention 12 février 2016 137
25 oct. 2010 à 10:15
Bonjour,
à défaut de DOS tu peux toujours utiliser ce programme qui marche très bien
https://www.clubic.com/telecharger-fiche43422-remove-empty-directories.html
0
aKuma59 Messages postés 104 Date d'inscription samedi 19 juillet 2008 Statut Membre Dernière intervention 28 janvier 2018 6
26 oct. 2010 à 13:33
Bonjour,

Merci mais le but est de n'avoir qu'un .bat au final,
Je ne peux rien avoir d'autre.

D'autres propositions ? :)
0
aKuma59 Messages postés 104 Date d'inscription samedi 19 juillet 2008 Statut Membre Dernière intervention 28 janvier 2018 6
28 oct. 2010 à 22:25
up ?
0
cs-bilou Messages postés 769 Date d'inscription dimanche 2 décembre 2007 Statut Membre Dernière intervention 24 février 2011 164
Modifié par cs-bilou le 14/11/2010 à 17:56
Tien essaye un truc comme ça:

@echo off  
set dossier=c:\windows  
setlocal enableDelayedExpansion 
for /f "delims=""" %%i in ('dir "%dossier%" /b /s') do ( 
 if %%~xiB==B ( 
  set fichier=0 
  for /f "delims=""" %%j in ('dir "%%i" /b /s') do set /a fichier+=1
  if !fichier! NEQ 0 rmdir "%%i" /s /q  
  )  
)  
pause



Bilou
Il y a des jours faut pas m'chercher.
Et y'a des jours tous les jours !
0
Christophe7492 Messages postés 1 Date d'inscription mercredi 3 juin 2015 Statut Membre Dernière intervention 3 juin 2015
3 juin 2015 à 14:58
Attention, batch dangereux !!! Il supprime tout le contenu de tous les dossiers ! A ne surtout pas utiliser !!!
0
_Maniak_ Messages postés 115 Date d'inscription vendredi 2 octobre 2015 Statut Membre Dernière intervention 30 novembre 2015 9 > Christophe7492 Messages postés 1 Date d'inscription mercredi 3 juin 2015 Statut Membre Dernière intervention 3 juin 2015
2 oct. 2015 à 10:21
rmdir /s /q supprime le contenu de tous les dossiers, mais seulement rmdir sans option ne supprime que les dossiers vides.
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
La commande:
For /R ''C:\Chemin\Absolue'' /D %x in (''*'') do (rd ''%x'')


/!\ Lors du copier/coller, effacer et rééditer les Guillemets ! /!\
Et Lors de l'utilisation de cette commande via un fichier .bat,
la variable %x devient %%x




La commande signifie :

Je cherche la variable (correspondante à des noms de dossiers) dans toutes les arborescences existantes à partir de C:\Chemin\Absolue. (La variable étant : TOUT)
Nous allons donc effectuer la commande « Supprimer un répertoire vide » sur tous les dossiers de chaque arborescences en partant de C:\Chemin\Absolue.

Ce qui oblige à exécuter la commande plusieurs fois... Car, un dossier contenant un dossier vide est plein (logique), mais une fois le dossier vide supprimer, ce dossier anciennement plein devient vide...

du coup, dans ton fichier .bat, tu fais tout simplement:

For /R ''C:\Chemin\absoludossier'' /D %%x in (''*'') do (rd ''%%x'')
For /R ''C:\Chemin\absoludossier'' /D %%x in (''*'') do (rd ''%%x'')
For /R ''C:\Chemin\absoludossier'' /D %%x in (''*'') do (rd ''%%x'')
For /R ''C:\Chemin\absoludossier'' /D %%x in (''*'') do (rd ''%%x'')
For /R ''C:\Chemin\absoludossier'' /D %%x in (''*'') do (rd ''%%x'')
For /R ''C:\Chemin\absoludossier'' /D %%x in (''*'') do (rd ''%%x'')
For /R ''C:\Chemin\absoludossier'' /D %%x in (''*'') do (rd ''%%x'')

....le nombre de fois que nécessaire !

N'oublie pas de rééditer les Guillemets !!!!
0