[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
-
Messages postés
115
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
6
Up ?
Messages postés
1706
Date d'inscription
lundi 19 février 2007
Statut
Contributeur
Dernière intervention
12 février 2016
140
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
Messages postés
104
Date d'inscription
samedi 19 juillet 2008
Statut
Membre
Dernière intervention
28 janvier 2018
6
Bonjour,

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

D'autres propositions ? :)
Messages postés
104
Date d'inscription
samedi 19 juillet 2008
Statut
Membre
Dernière intervention
28 janvier 2018
6
up ?
Messages postés
769
Date d'inscription
dimanche 2 décembre 2007
Statut
Membre
Dernière intervention
24 février 2011
162
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 !
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 !!!
Messages postés
115
Date d'inscription
vendredi 2 octobre 2015
Statut
Membre
Dernière intervention
30 novembre 2015
9 >
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.
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 !!!!