[DOS] Supprimer dossiers vides

aKuma59 Messages postés 104 Date d'inscription   Statut Membre Dernière intervention   -  
_Maniak_ Messages postés 115 Date d'inscription   Statut Membre Dernière intervention   -
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   Statut Membre Dernière intervention   6
 
Up ?
0
thanassos Messages postés 1706 Date d'inscription   Statut Contributeur Dernière intervention   137
 
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   Statut Membre Dernière intervention   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 ? :)
0
aKuma59 Messages postés 104 Date d'inscription   Statut Membre Dernière intervention   6
 
up ?
0
cs-bilou Messages postés 769 Date d'inscription   Statut Membre Dernière intervention   164
 
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   Statut Membre Dernière intervention  
 
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   Statut Membre Dernière intervention   9 > Christophe7492 Messages postés 1 Date d'inscription   Statut Membre Dernière intervention  
 
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
Maniak
 
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

Discussions similaires