test
我正在包含以下内容的目录中工作
- 子目录1
- 子目录2
- 子目录3
- ...
- 子目录
我有一个 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
在@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
这可能不是关于磁盘空间的最佳实践,因此在处理大块数据时应谨慎使用。