subcarpetas - ¿Herramienta de línea de comandos para eliminar la carpeta con un nombre especificado recursivamente en Windows?




forzar eliminar carpeta (6)

Quiero eliminar cada "_svn" en cada carpeta y subcarpeta ...

Por ejemplo

c:\
  proyect1
   _svn
   images
     _svn
     banner
       _svn
     buttons
       _svn

Luego corro algo así como

rm-recurse c:\proyect1 _svn

Y debería obtener:

c:\
  proyect1
   images
     banner
     buttons

Lo ideal sería un pequeño EXE autónomo o algo así.

- Gracias Grant, tan pronto como publiqué la pregunta, vi documentación SVN sobre el comando de exportación SVN, pero también quiero eliminar las carpetas _vti_ * que crea Visual Studio, así que también exploraré la solución.



En Windows? Si está utilizando tortuga SVN, puede usar el comando de exportación para exportar una copia del proyecto sin las carpetas .svn / _svn.


Otra opción del Foro SVN : use XCopy con un archivo que contenga la lista de archivos / directorios que se excluirán (.svn o _svn en este caso)

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

Para la inclusión / invocación desde un archivo BATCH use (digamos para eliminar la carpeta Debug and Release):

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

Se requieren el doble % dentro de un archivo de proceso por lotes para funcionar como caracteres de escape. De lo contrario, informa error de sintaxis.

Gracias.



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

Creo que puedes probar este script de Python, que funcionará bajo cualquier sistema operativo si tienes instalado Python.





administration