Kategorien

Suchen


Aktuelle Artikel

Archiv


« | Startseite | »

SVN: Die .svn Ordner rekursiv aus den Verzeichnissen löschen

Jockel | 16.02.2010

Wenn Sie SVN Projekte betreiben und die lokalen Verzeichnisse kopieren oder weitergeben möchten, dann stören häufig die .svn Folder (Ordner) in jedem einzelnen Unterverzeichnis.

Um diese einfach und schnell zu löschen, legen Sie sich eine Batchdatei mit folgendem Inhalt an:
FOR /F "tokens=*" %%G IN ('DIR /B /AD /S *.svn*') DO RMDIR /S /Q %%G
Direkt auf der Kommandozeile ausgeführt, funktioniert der Befehl leider (meist) nicht.

Um in der Kommandozeile direkt die Batchdatei (hier: “delete_svn.bat”) anzulegen, nutzen Sie folgende Befehle:
copy con delete_svn.bat
FOR /F "tokens=*" %%G IN ('DIR /B /AD /S *.svn*') DO RMDIR /S /Q %%G
^Z

Danach finden Sie im aktuellen Verzeichnis die “delete_svn.bat” und können Sie ausführen.

Achtung:
Die .SVN Ordner werden ohne Rückfrage sofort und rekursiv gelöscht, d.h. auch alle .SVN Ordner in allen Unterverzeichnissen des aktuellen Orderns werden gelöscht.

Sollte das Script mit einem Fehler “” beendet werden, bitte die Anführungszeichen im Befehl entsprechend ändern (z.Bsp. von ” zu ‘ ).

In Linux funktioniert der folgende Befehl:

rm -rf `find . -type d -name .svn`

Kategorie: Anleitungen, eclipse, Windows | 3 Kommentare »

3 Antworten auf “SVN: Die .svn Ordner rekursiv aus den Verzeichnissen löschen”

  1. Maik meint:
    09.08.2010 um 16:49

    Damit unter Windows auch Verzeichnisse mit Leerzeichen berücksichtigt werden sollte der letzte Parameter noch in Anführungszeichen gesetzt werden.

    FOR /F “tokens=*” %%G IN (‘DIR /B /AD /S *.svn*’) DO RMDIR /S /Q “%%G”

  2. André meint:
    20.10.2010 um 14:51

    Ich habe dies bei Windows versucht:

    Der Batchname ist: svndelete.bat
    Der Inhalt:
    copy con svndelete.bat
    FOR /F “tokens=*” %%G IN (‘DIR /B /AD /S *C:\Users\andi\Desktop\test.svn*’) DO RMDIR /S /Q %%G
    ^Z

    Es scheint jedoch nichts zu tun.

  3. Günther meint:
    03.11.2010 um 10:17

    Hallo André,

    in der Batchdatei darf nur die Zeile “FOR …” stehen. Die erste Zeile erlaubt Ihnen nur die Eingabe der zweiten Zeile und die dritte Zeile zeigt dem “copy con” Befehl, dass für ihn die Arbeit beendet ist und die eingegebene Zeile gespeichert werden soll. Wenn Sie die Batchdatei auf einem anderen Weg (z.Bsp. mit einem Texteditor) erstellen, dann ignorieren Sie die erste und letzte Zeile bitte.

    Zusätzlich überprüfen Sie bitte, ob Ihre Dateiangabe (“C:\Users\andi\Desktop\test.svn”) wirklich gewünscht ist. Das Script wird mit diesem Befehl stets nur diese eine Datei löschen können. Bitte ändern Sie den Dateinamen auf die im Artikel angezeigte Version (“.svn”) um.

Kommentare