[DOS] Supprimer dossiers vides [Fermé]
Signaler
aKuma59
_Maniak_
- Messages postés
- 104
- Date d'inscription
- samedi 19 juillet 2008
- Statut
- Membre
- Dernière intervention
- 28 janvier 2018
_Maniak_
- Messages postés
- 115
- Date d'inscription
- vendredi 2 octobre 2015
- Statut
- Membre
- Dernière intervention
- 30 novembre 2015
5 réponses
aKuma59
- Messages postés
- 104
- Date d'inscription
- samedi 19 juillet 2008
- Statut
- Membre
- Dernière intervention
- 28 janvier 2018
Up ?
thanassos
- Messages postés
- 1706
- Date d'inscription
- lundi 19 février 2007
- Statut
- Contributeur
- Dernière intervention
- 12 février 2016
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
à 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
aKuma59
- Messages postés
- 104
- Date d'inscription
- samedi 19 juillet 2008
- Statut
- Membre
- Dernière intervention
- 28 janvier 2018
Bonjour,
Merci mais le but est de n'avoir qu'un .bat au final,
Je ne peux rien avoir d'autre.
D'autres propositions ? :)
Merci mais le but est de n'avoir qu'un .bat au final,
Je ne peux rien avoir d'autre.
D'autres propositions ? :)
cs-bilou
- Messages postés
- 769
- Date d'inscription
- dimanche 2 décembre 2007
- Statut
- Membre
- Dernière intervention
- 24 février 2011
Tien essaye un truc comme ça:
Bilou
Il y a des jours faut pas m'chercher.
Et y'a des jours tous les jours !
@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 !
_Maniak_
- Messages postés
- 115
- Date d'inscription
- vendredi 2 octobre 2015
- Statut
- Membre
- Dernière intervention
- 30 novembre 2015
- 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.
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 !!!!
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 !!!!