Narzędzie wiersza poleceń do usuwania folderu o podanej nazwie rekurencyjnie w systemie Windows?

Chcę usunąć każdy "_svn" w każdym folderze i podfolderze...

Na przykład

c:\
  proyect1
   _svn
   images
     _svn
     banner
       _svn
     buttons
       _svn

Potem uruchamiam coś takiego

rm-recurse c:\proyect1 _svn

I powinienem dostać:

c:\
  proyect1
   images
     banner
     buttons
Idealną rzeczą byłoby małe samodzielne EXE czy coś w tym stylu.

-- Dzięki Grant, jak tylko napisałem pytanie widziałem SVN dokumentację o komendzie eksportu SVN, ale chcę również usunąć foldery _vti_ * rzeczy, które tworzy Visual Studio, więc będę również zbadać for rozwiązanie.

Author: Peter Mortensen, 2009-02-06

8 answers

Podobne do "za" Blacktigerxa, chciałem zasugerować

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

 124
Author: JMD,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2009-02-06 18:05:03

Czas się nauczyć PowerShell ; o)

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

Pierwsza część rekurencyjnie odnajduje każdy folder _svn. Siła służy do znajdowania ukrytych folderów. Druga część służy do usuwania tych folderów i ich zawartości. Remove commandlet jest wyposażony w poręczny parametr "whatif", który pozwala na podgląd tego, co zostanie zrobione.

PowerShell jest dostępny dla Windows XP i Windows Vista. Jest on obecny w Windows 7 i na Windows Server 2008 R2 domyślnie.

To produkt MS, to free, and it rocks!

 22
Author: Cédric Rup,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2009-11-13 09:03:51

Do włączenia/wywołania z pliku wsadowego użyj (powiedzmy do usunięcia folderu debugowania i wydania):

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

Podwójne {[1] } są wymagane w pliku wsadowym do pracy jako znaki escape. W przeciwnym razie zgłasza błąd składni.

Dzięki.
 18
Author: Rajesh Gautam PhD,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2011-07-29 16:32:24
for /f "usebackq" %d in (`"dir _svn /ad/b/s"`) do rd /s/q "%d"

Http://ebersys.blogspot.com/2008/07/recursively-delete-svn-folders-easy-way.html

 14
Author: BlackTigerX,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2011-07-29 16:32:39

W Windows? Jeśli używasz tortoiseSVN możesz użyć polecenia Eksportuj, aby wyeksportować kopię projektu bez .foldery svn / _svn.

 10
Author: Grant,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2009-02-06 17:55:39
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))

Myślę, że możesz wypróbować ten skrypt Pythona, który będzie działał pod każdym systemem operacyjnym, jeśli masz zainstalowany Python.

 4
Author: Zhu Tao,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2009-11-13 09:29:18

Inna opcja z SVN Forum : Użyj XCopy z plikiem zawierającym listę plików / katalogów, które mają zostać wyłączone (.svn lub _svn w tym przypadku)

XCopy C:\VersionedFolder C:\UnVersionedFolder /EXCLUDE:C:\No.SVN.txt /E /C /I /F /R /Y
 3
Author: Teorist,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2011-10-25 20:21:18

Tutaj... z FreeCommander lub TotalCommander

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

Socendani

 2
Author: ,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2009-03-13 16:23:27