
Я работаю в каталоге test
со следующим содержимым
- подкаталог1
- подкаталог2
- подкаталог3
- ...
- подкаталогxxx
У меня есть 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-архив, сохранив дерево каталогов. Архив должен иметь следующую структуру:
тест\подкаталог2\
тест\подкаталог4\
тест\подкаталог7\
и так далее...
решение1
С помощью @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
Это, вероятно, не лучшая практика с точки зрения дискового пространства, поэтому ее следует использовать С ОСТОРОЖНОСТЬЮ при работе с большими объемами данных.