С помощью @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
Это, вероятно, не лучшая практика в отношении дискового пространства, поэтому его следует использовать с осторожностью при работе с большими кусками данных.