web-dev-qa-db-fra.com

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

J'ai un répertoire avec de nombreux sous-répertoires. Dans chaque dossier, il y a un dossier Subversion (.svn).

Existe-t-il une commande dans Windows qui passera par chaque dossier et sous-répertoire et supprimera le dossier .svn?

Ou vais-je devoir créer un script ou le faire manuellement?

73
user489041

Utilisez le svn export commande pour exporter une copie de travail Subversion dans une nouvelle structure de répertoires "propre" qui n'a pas le .svn répertoires.

29
Greg Hewgill

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 commandes:

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

Faites cela dans PowerShell.

REMARQUE: 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'arborescence 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
46
Bobby Cannon

Si vous souhaitez supprimer tous les sous-dossiers nommés . Svn dans Windows, créez un fichier batch avec ce contenu:

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

enregistrez-le dans un fichier del_All_Dot_SVN_Folders.cmd . Exécuter. Vous avez terminé.

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

Rappelez-vous que le code ci-dessus a .svn alors que le code dans le lien n'a que * svn donc il vaut mieux avoir le .svn pour ne pas avoir accidentellement un effet indésirable.

10
visar_uruqi

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

Bien qu'OP ait demandé une solution en ligne de commande, il a également indiqué utiliser Windows et envisagé une suppression manuelle, de sorte que la méthode de l'explorateur de fichiers pourrait toujours être envisagée, surtout parce que c'est la méthode la plus rapide et ne repose pas sur des `` outils '' comme l'exportation svn.

Bien que OP ait déjà sélectionné une réponse acceptée, cette réponse pourrait être utile pour d'autres. Au moins, cela m'a été utile, un utilisateur de Linux/Windows de longue date qui préfère les lignes de commande et a d'abord découvert la boîte de recherche par ce post :-)

Explorer screenshot with searchbox

9
Roland

Je sais qu'il est trop tard pour répondre à cette question, mais je suppose qu'il existe un moyen simple si Eclipse et le plugin svn sont installés sur votre Eclipse. Faites un clic droit sur le projet, allez dans Équipe-> déconnecter. Il ouvrira une fenêtre contextuelle dans laquelle vous sélectionnez la première option: 'Supprimez également les méta-informations SVN du système de fichiers.' Cela supprimera automatiquement tous les dossiers SVN ainsi que les fichiers de propriétés svn que vous pourriez oublier parfois lors de la suppression des dossiers .svn uniquement!

0
fresh learner