Arquivar uma lista csv de subpastas

1

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

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

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

subdir2, subdir4, subdir7

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

Eu tenho uma linha de pseudo-trabalho:

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

e depois arquivar manualmente a nova pasta, mas gostaria de automatizar esse processo.

Editar:

Não preciso copiar os list.csv subdirs 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 deve ter a seguinte estrutura:

test\subdir2\

test\subdir4\

test\subdir7\

and so on...

    
por Alex 29.03.2018 / 13:33

1 resposta

0

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-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, por isso deve ser usado com o CARE em grandes blocos de dados.

    
por 29.03.2018 / 15:55