Frage

Ich will jeden "_svn" in jedem Ordner und Unterordner löschen ...

Zum Beispiel

c:\
  proyect1
   _svn
   images
     _svn
     banner
       _svn
     buttons
       _svn

Dann laufe ich so etwas wie

rm-recurse c:\proyect1 _svn

Und ich sollte bekommen:

c:\
  proyect1
   images
     banner
     buttons

Die ideale Sache würde eine winzige Stand-alone-EXE oder so ähnlich sein.

- Dank Grant, sobald ich die Frage gepostet Ich sah SVN Dokumentation zum SVN Exportbefehl, aber ich möchte auch die _vti_ * Ordner stopfen Visual Studio erstellt löschen, also werde ich auch die for Lösung erkunden.

War es hilfreich?

Lösung

Ähnlich wie BlackTigerX der „für“ Ich wollte vorschlagen

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

Andere Tipps

Zeit einige Powershell zu lernen; o)

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

Der erste Teil findet jeden _svn Ordner rekursiv. Kraft wird verwendet, versteckte Ordner zu finden. Der zweite Teil wird verwendet, um diese Ordner und deren Inhalte zu löschen. Entfernen Commandlet kommt mit einem praktischen „whatif“ Parameter, was in der Vorschau ermöglicht wird getan werden.

Powershell ist für Windows XP und Windows Vista verfügbar. Es ist auf Windows 7 und Windows Server 2008 R2 standardmäßig aktiviert.

Es ist ein MS-Produkt, es ist kostenlos, und es rockt!

Für die Aufnahme / Aufruf aus einer Batch-Datei verwenden (etwa für Debug Entfernen und Release-Ordner):

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

Doppel % innerhalb einer Batch-Datei erforderlich als Flucht Zeichen zu arbeiten. Else es meldet Fehler der Syntax.

Danke.

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

http: //ebersys.blogspot. com / 2008/07 / rekursiv-delete-svn-Ordner-easy-way.html

In Windows? Wenn Sie TortoiseSVN verwenden, können Sie den Exportbefehl verwenden, um eine Kopie des Projekts ohne die .svn / _svn Ordner zu exportieren.

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))

ich glaube, Sie diesen Python-Skript versuchen können, die unter jedem Betriebssystem funktionieren, wenn Sie haben Python installiert ist.

Eine weitere Option von SVN Forum: verwenden XCopy mit einer Datei, die die Liste der Dateien / Verzeichnisse enthält ausgeschlossen (.svn oder _svn in diesem Fall) wird

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

Hier ... mit Freecommander oder Totalcommander

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

socendani

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top