Copie gran cantidad de archivos pero excluya ciertas subcarpetas en Windows

14

Quiero hacer una copia de seguridad de mi carpeta de trabajo que está contenida principalmente dentro de una estructura de carpetas como:

www
    - project 1
        - assets
        - node_modules
    - project 1
        - assets
        - node_modules
    - project 1
        - assets
        - node_modules

Necesito copiar todos los proyectos pero excluir la carpeta node_modules dentro de cada proyecto. ¿Hay una manera fácil de hacer esto a granel? Como tengo grandes cantidades de proyectos por recorrer.

Ejecutando en Windows 8.1

Doidgey
fuente
Mira esta pregunta: superuser.com/questions/359031/… . En la pregunta en sí está tu respuesta.
angus

Respuestas:

12

Necesito copiar todos los proyectos pero excluir la carpeta node_modules

Puede usar xcopyjunto con la excludeopción:

xcopy www backup /exclude:except.txt
  • except.txt contiene la lista de archivos de directorios que se excluirán.

excepto.txt:

node_modules

/EXCLUDE:file1[+file2][+file3]...

  • Los archivos pueden contener uno o más nombres de ruta completos o parciales para ser excluidos.
  • Cuando alguno de estos coincide con alguna parte de la ruta absoluta de un archivo SOURCE, ese archivo se excluirá.
  • Por ejemplo, especificar una cadena como \obj\o .objexcluirá todos los archivos debajo del directorio objo todos los archivos con la .objextensión respectivamente.

Source xcopy : copia archivos y / o árboles de directorios a otra carpeta.


Otras lecturas

DavidPostill
fuente
Impresionante, gracias. Intentaré esto. También encontré esto: robocopy SOURCE DESTINATION /mir /xd FOLDER_TO_EXCLUDE- Supongo que también podría funcionar.
Doidgey
Muy probable. Sin embargo, no sé robocopy: / Por favor, no olvide aceptar mi respuesta;)
DavidPostill
Pruébelo robocopy: fue diseñado para admitir las mismas opciones de comando, xcopypero presenta muchas mejoras: soporte de ruta larga, almacenamiento en búfer, unicode, conserva marcas de tiempo, etc., etc. Robocopyes parte de Windows desde Vista, instalable en XP.
user1016274
Este comando no copió ninguna subcarpeta de mi fuente, solo archivos dentro de esa carpeta.
Qwerty
@DavidPostill ¿Realmente tengo que poner los directorios que quiero excluir en un archivo de texto y luego hacer referencia a ese archivo de texto en el comando? ¿No puedo decirle directamente qué directorios quiero excluir? Supongo que robocopyes mejor.
Shayan
9

Gracias a @DavidPostill por su respuesta. Funcionó de maravilla. Sin embargo, también logré que la robocopia funcionara. Para aquellos a quienes podría ayudar, el comando era:

robocopy SOURCE DEST /mir /xd node_modules

El origen es la carpeta para copiar y el destino es el destino. Y justo al final tengo node_modules como la carpeta que quiero excluir.

Doidgey
fuente
3
Buen ol robocopy /mir. Interruptor muy potente que puede hacer mucho bien, pero solo tenga en cuenta lo que hace ese interruptor antes de usarlo. Sincronizará dos directorios, incluida la eliminación de elementos si no existen en el directorio de origen.
Adam Plocher
Muchas gracias! Esto funciona muy bien para sincronizar mi carpeta Documentos con Dropbox, pero excluye las carpetas node_modules ya que ocupan mucho espacio
Ben Gubler
1
@AdamPlocher Tu comentario me salvó de la pérdida de datos. He estado usando robocopy como un sustituto para mover carpetas, no se me ocurrió que eliminaría archivos de la carpeta de destino. Afortunadamente pude recuperar una copia de seguridad de hace 4 días, así que gracias.
Hay