Archivar una lista csv de subcarpetas

Archivar una lista csv de subcarpetas

Estoy trabajando en un directorio testcon el siguiente contenido.

  • subdir1
  • subdir2
  • subdir3
  • ...
  • subdirxxx

Tengo una lista csv con los nombres de los subdirectorios que necesito incluir en mi archivo, por ejemplo:

subdir2, subdir4, subdir7

Necesito agregar los subdirectorios (y su contenido) de la lista CSV a un archivo .zip, manteniendo las rutas.

Tengo una línea pseudo-funcional:

for /f "delims=*" %%i in (list.csv) do (xcopy "path\to\maindir\" "path\to\a\newdir" /S /E

y luego archivo manualmente la nueva carpeta, pero me gustaría automatizar este proceso.

Editar:

No necesito copiar los list.csvsubdirectorios a un nuevo directorio, necesito archivar los subdirectorios y archivos de la lista en un archivo .zip, preservando el árbol de directorios. El archivo debe tener la siguiente estructura:

prueba\subdir2\

prueba\subdir4\

prueba\subdir7\

etcétera...

Respuesta1

Con la ayuda de @PimpJuiceIT terminé con algo como esto:

@ECHO ON

SET SourceDir=drive:\path\to\source
SET DestDir=drive:\path\to\destination
SET PathToCSV=drive:\path\to\list.csv



for /f "delims=*" %%i in ("%PathToCSV%") do (xcopy "%SourceDir%\%%~i" "%DestDir%\%%~i\" /S /E /I)

pause
CD /D "C:\Program Files\7-Zip"
 7z.exe a "%DestDir%\zipfile.zip" "%DestDir%"

pause

Probablemente esta no sea la mejor práctica con respecto al espacio en disco, por lo que debe usarse CON CUIDADO en grandes cantidades de datos.

información relacionada