Jonathan Petitcolas

Geek et passionné de high-tech…

Supprimer récursivement les dossiers .svn sous Windows

Pour une raison ou pour une autre, on peut parfois être amené à récupérer la totalité d'un dépôt .svn sans passser par la commande export. Notre ami Korben a publié un article dernièrement concernant la suppression des dossiers .svn sous Linux.

Ce que je vous propose ici est la même manipulation, mais sous Windows. Certes, des petits malins pourraient se dire qu'il suffit d'installer CygWin (un environnement Linux pour Windows), mais installer tout cela pour uniquement une commande, qui se réalise très bien en Batch... :)

Voici donc la très précieuse commande :

for /r repository %f in (.svn) do rd /S /Q "%f"

Quelques explications ? Allez, je me lance ! Tout d'abord, on effectue une boucle for de manière récursive, lui demandant de mettre dans la variable %f tous les fichiers rencontrés qui satisfont la condition .svn. Ensuite, on supprime le répertoire correspondant (rd, pour remove directory). On veut supprimer le répertoire lui-même ainsi que tous ses dossiers et sous-dossiers (option /s), et ne pas demander de confirmation à l'utilisateur (/q).

Bref, rien de bien compliqué, à condition toutefois de connaître la commande vitale pour les batchs, équivalent du man Linux : commande /?.

Le Batch Windows est souvent obscurci par les fichiers Shell Linux. Mais, il permet de faire cependant des choses intéressantes. :)

Mots-clefs : ,

Une réaction sur cet article.

  1. Metallizer dit :

    Merci énormément pour cette commande ! Elle m'a été d'une très grande aide et j'en ai fait un script paramétrable que j'appelle au besoin. ^^

Réagissez sur cet article !