77 votes

Commande pour supprimer récursivement tous les répertoires .svn sous Windows

J'ai un répertoire avec plusieurs sous-répertoires. Dans chaque dossier, il y a un dossier de subversion (.svn). Existe-t-il une commande dans Windows qui parcourt chaque dossier et sous-répertoire et supprime le dossier .svn? Ou devrai-je créer un script ou le faire manuellement?

Merci

179voto

Ajit Points 950

Créez un petit fichier batch avec la ligne suivante et exécutez-le à partir du dossier parent dans lequel se trouvent les répertoires .svn.

 FOR /F "tokens=*" %%G IN ('DIR /B /AD /S *.svn*') DO RMDIR /S /Q "%%G"
 

Vous pouvez également émettre la ligne ci-dessous directement à partir de l'invite de commande:

 FOR /F "tokens=*" %G IN ('DIR /B /AD /S *.svn*') DO RMDIR /S /Q "%G"
 

47voto

Bobby Cannon Points 1711

Faites cela dans PowerShell.

NOTE: Ceci est récursif alors assurez-vous que vous êtes dans le bon répertoire!

 gci -fil '.svn' -r -force | ri -r -force
 

Voici le reste de mon script de nettoyage de l’arbre source.

 gci -fil 'bin' -r -force | ri -r -force
gci -fil 'obj' -r -force | ri -r -force
gci -fil '_ReSharper*' -r -force | ri -r -force
gci -fil '*.suo' -r -force | ri -r -force
gci -fil '*.user' -r -force | ri -r -force
 

31voto

Greg Hewgill Points 356191

Utilisez la commande svn export pour exporter une copie de travail Subversion vers une nouvelle structure de répertoires "vierge" qui ne contient pas les répertoires .svn .

11voto

visar_uruqi Points 435

Si vous souhaitez supprimer tous les sous-dossiers nommés .svn sous windows ensuite, créez le fichier de commandes avec ce contenu:

for /f "tokens=* delims=" %%i in ('dir /s /b /a:d *.svn') do (
rd /s /q "%%i"
)

l'enregistrer dans un fichier del_All_Dot_SVN_Folders.cmd . L'exécuter. Vous avez terminé.

Grâce à http://www.axelscript.com/2008/03/11/delete-all-svn-files-in-windows/

Rappelez-vous le code ci-dessus .svn alors que le code dans le lien n'a qu' *svn de sorte que son meilleur pour avoir le .svn pour ne pas accidentellement ont des effets indésirable.

10voto

Roland Points 323

Tapez simplement .svn dans la zone de recherche de l'Explorateur de Fichier, puis sélectionnez et supprimez tous les résultats de recherche (voir JB Nizet du commentaire). Cette méthode peut également être utilisée pour supprimer rapidement l'obj et bin répertoires, par exemple, lors de l'organisation de svn archives.

Bien que l'OP a demandé une solution en ligne de commande, il a également indiqué à l'aide de Windows, et considéré comme un manuel de suppression, de sorte que le Fichier de l'Explorateur méthode pourrait encore être considérée, surtout parce que c'est la méthode la plus rapide et ne repose pas sur des "outils" comme svn export.

Bien que l'OP déjà sélectionné accepté de réponse, cette réponse peut toujours être utile pour les autres. Au moins, il était utile pour moi, un long temps linux / windows de l'utilisateur qui préfère les lignes de commande et d'abord appris à propos de la zone de recherche par ce post :-)

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X