[DOS] Supprimer dossiers vides [Fermé]

Signaler
Messages postés
104
Date d'inscription
samedi 19 juillet 2008
Statut
Membre
Dernière intervention
28 janvier 2018
-
_Maniak_
Messages postés
118
Date d'inscription
vendredi 2 octobre 2015
Statut
Membre
Dernière intervention
30 novembre 2015
-
Bonsoir,

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

Merci d'avance,
Cordialement,
Morgan.

5 réponses

Messages postés
104
Date d'inscription
samedi 19 juillet 2008
Statut
Membre
Dernière intervention
28 janvier 2018
5
Up ?
Messages postés
1763
Date d'inscription
lundi 19 février 2007
Statut
Contributeur
Dernière intervention
12 février 2016
127
Bonjour,
à défaut de DOS tu peux toujours utiliser ce programme qui marche très bien
http://www.clubic.com/telecharger-fiche43422-remove-empty-directories.html
Messages postés
104
Date d'inscription
samedi 19 juillet 2008
Statut
Membre
Dernière intervention
28 janvier 2018
5
Bonjour,

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

D'autres propositions ? :)
aKuma59
Messages postés
104
Date d'inscription
samedi 19 juillet 2008
Statut
Membre
Dernière intervention
28 janvier 2018
5
up ?
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 !!!!
Messages postés
771
Date d'inscription
dimanche 2 décembre 2007
Statut
Membre
Dernière intervention
24 février 2011
153
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 !
Christophe7492
Messages postés
1
Date d'inscription
mercredi 3 juin 2015
Statut
Membre
Dernière intervention
3 juin 2015

Attention, batch dangereux !!! Il supprime tout le contenu de tous les dossiers ! A ne surtout pas utiliser !!!
_Maniak_
Messages postés
118
Date d'inscription
vendredi 2 octobre 2015
Statut
Membre
Dernière intervention
30 novembre 2015
4 > Christophe7492
Messages postés
1
Date d'inscription
mercredi 3 juin 2015
Statut
Membre
Dernière intervention
3 juin 2015

rmdir /s /q supprime le contenu de tous les dossiers, mais seulement rmdir sans option ne supprime que les dossiers vides.