1

Я работаю в каталоге test со следующим содержанием

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

У меня есть список csv с именами подкаталогов, которые мне нужно включить в мой архив, например:

subdir2, subdir4, subdir7

Мне нужно добавить подкаталоги (и их содержимое) из списка CSV в архив .zip, поддерживая пути.

У меня есть псевдо-рабочая строка:

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

и затем я вручную заархивирую новую папку, но я хотел бы автоматизировать этот процесс.

Редактировать:

Мне не нужно копировать list.csv в новый каталог, мне нужно заархивировать подкаталоги и файлы из списка в архив .zip, сохранив дерево каталогов. Архив должен иметь следующую структуру:

Тест \subdir2 \

Тест \subdir4 \

Тест \subdir7 \

и так далее...

1 ответ1

0

С помощью @PimpJuiceIT я получил что-то вроде этого:

@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

Это, вероятно, не лучшая практика в отношении дискового пространства, поэтому его следует использовать с осторожностью при работе с большими кусками данных.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .