
Estou trabalhando em um diretório test
com 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.csv
subdiretó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.