Arquivar uma lista CSV de subpastas

Arquivar uma lista CSV de subpastas

Estou trabalhando em um diretório testcom o seguinte conteúdo

  • subdiretório1
  • subdiretório2
  • subdiretório3
  • ...
  • subdiretórioxxx

Eu tenho uma lista csv com os nomes dos subdiretórios que preciso incluir no meu arquivo, digamos:

subdir2, subdir4, subdir7

Preciso adicionar os subdiretórios (e seus conteúdos) da lista CSV a um arquivo .zip, mantendo os caminhos.

Eu tenho uma linha pseudo-funcional:

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

e então arquivo manualmente a nova pasta, mas gostaria de automatizar esse processo.

Editar:

Não preciso copiar os list.csvsubdiretórios para um novo diretório, preciso arquivar os subdiretórios e arquivos da lista em um arquivo .zip, preservando a árvore de diretórios. O arquivo deverá ter a seguinte estrutura:

teste\subdiretório2\

teste\subdiretório4\

teste\subdiretório7\

e assim por diante...

Responder1

Com a ajuda do @PimpJuiceIT acabei com algo assim:

@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

Esta provavelmente não é a melhor prática em relação ao espaço em disco, portanto deve ser usada COM CUIDADO em grandes blocos de dados.

informação relacionada