
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\
測試\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
這可能不是關於磁碟空間的最佳實踐,因此在處理大資料區塊時應小心使用。