outil de ligne de commande pour supprimer le dossier avec un nom spécifié récursive dans Windows?

StackOverflow https://stackoverflow.com/questions/521382

Question

Je veux supprimer tous les « _svn » dans chaque dossier et sous-dossier ...

Par exemple

c:\
  proyect1
   _svn
   images
     _svn
     banner
       _svn
     buttons
       _svn

Alors je lance quelque chose comme

rm-recurse c:\proyect1 _svn

Je devrais obtenir:

c:\
  proyect1
   images
     banner
     buttons

L'idéal serait un petit EXE autonome ou quelque chose comme ça.

- Merci Grant, dès que je posté la question que j'ai vu SVN documentation sur le SVN commande à l'exportation, mais je veux aussi supprimer le _vti_ * dossiers gavent Visual studio crée, donc je vais explorer aussi la solution for.

Était-ce utile?

La solution

Tout comme « pour » de BlackTigerX, j'allais dire

for /d /r . %d in (_svn) do @if exist "%d" rd /s/q "%d"

Autres conseils

Le temps d'apprendre quelques PowerShell ; o)

Get-ChildItem -path c:\projet -Include '_svn' -Recurse -force | Remove-Item -force -Recurse

La première partie trouve chaque dossier _svn récursive. La force est utilisée pour trouver des dossiers cachés. deuxième partie est utilisée pour supprimer ces dossiers et leur contenu. Retirer commandlet est livré avec un paramètre « whatif » pratique qui permet de visualiser ce qui sera fait.

PowerShell est disponible pour Windows XP et Windows Vista. Il est présent sur Windows 7 et Windows Server 2008 R2 par défaut.

Il est un produit MS, il est gratuit, et ça dépote!

Pour l'inclusion / appel à partir d'une utilisation de fichier batch (dire pour la suppression de débogage et le dossier de presse):

for /d /r . %%d in (Debug Release) do @if exist "%%d" echo "%%d" && rd /s/q "%%d"

à double % sont nécessaires dans un fichier batch pour travailler comme caractères d'échappement. Sinon, il signale une erreur de syntaxe.

Merci.

for /f "usebackq" %d in (`"dir _svn /ad/b/s"`) do rd /s/q "%d"

http: //ebersys.blogspot. com / 2008/07 / récursive-delete-svn-dossiers-facile way.html

Dans Windows? Si vous utilisez tortoiseSVN vous pouvez utiliser la commande d'exportation pour exporter une copie du projet sans les svn / _svn dossiers.

import os
import shutil

curdir = os.path.abspath(os.path.dirname(__file__))

def removedir(dirname, name = ".svn"):
    if os.path.isdir(dirname):
        for file in os.listdir(dirname):
            if os.path.isdir(os.path.join(dirname, file)) and file == name:
                thedir = os.path.join(dirname, name)
                shutil.rmtree(thedir)
                print ".",
            else:
                removedir(os.path.join(dirname, file))

Je pense que vous pouvez essayer ce script Python, qui fonctionnera sous OS si vous avez installé Python.

Une autre option de SVN Forum : utiliser XCopy avec un fichier qui contient la liste des fichiers / répertoires à exclure (svn ou _svn dans ce cas)

XCopy C:\VersionedFolder C:\UnVersionedFolder /EXCLUDE:C:\No.SVN.txt /E /C /I /F /R /Y

Ici ... avec FreeCommander ou TotalCommander

http://www.broobles.com/blog/posts/36

socendani

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top