하위 폴더의 CSV 목록 보관

하위 폴더의 CSV 목록 보관

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

이는 디스크 공간과 관련하여 최선의 방법은 아닐 수 있으므로 큰 데이터 청크에 주의해서 사용해야 합니다.

관련 정보