Archivieren einer CSV-Liste von Unterordnern

Archivieren einer CSV-Liste von Unterordnern

Ich arbeite in einem Verzeichnis testmit folgendem Inhalt

  • Unterverzeichnis1
  • Unterverzeichnis2
  • Unterverzeichnis3
  • ...
  • unterverzeichnisxxx

Ich habe eine CSV-Liste mit den Namen der Unterverzeichnisse, die ich in mein Archiv aufnehmen muss, sagen wir:

subdir2, subdir4, subdir7

Ich muss die Unterverzeichnisse (und deren Inhalte) aus der CSV-Liste zu einem ZIP-Archiv hinzufügen und dabei die Pfade beibehalten.

Ich habe eine pseudo-funktionierende Zeile:

for /f "delims=*" %%i in (list.csv) do (xcopy "path\to\maindir\" "path\to\a\newdir" /S /E

und dann archiviere ich den neuen Ordner manuell, aber ich möchte diesen Vorgang automatisieren.

Bearbeiten:

Ich muss die Unterverzeichnisse nicht in ein neues Verzeichnis kopieren list.csv, sondern die Unterverzeichnisse und Dateien aus der Liste in einem ZIP-Archiv archivieren und dabei den Verzeichnisbaum beibehalten. Das Archiv sollte die folgende Struktur haben:

test\Unterverzeichnis2\

test\Unterverzeichnis4\

test\Unterverzeichnis7\

und so weiter...

Antwort1

Mit Hilfe von @PimpJuiceIT kam ich am Ende auf so etwas:

@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

Dies ist hinsichtlich des Speicherplatzes wahrscheinlich nicht die beste Vorgehensweise und sollte daher bei großen Datenmengen MIT VORSICHT verwendet werden.

verwandte Informationen