Wie kann ich jede Datei in jedem Ordner rekursiv komprimieren?

2344
untore

Ich versuche, ein Batch-Skript zu schreiben, das, wenn es in einen Ordner ausgeführt wird, alle Dateien in diesem Ordner in eine ZIP-Datei packt, dann die restlichen Ordner und die darin enthaltenen Dateien untersucht und die ZIP-Dateien in jedem Ordner speichert .

Beispiel:

folder1 file1.ext file2.ext folder2 file3.ext file4.ext 

soll werden

folder1 file1.ext file2.ext folder1.zip containing file1.ext and file2.ext folder2 file3.ext file4.ext folder2.zip containing file3.ext and file4.ext 
0
Ich habe Ihrer Frage ein Beispiel hinzugefügt, um sie verständlicher zu machen. Sie haben nicht angegeben, welche Namen die ZIP-Dateien haben müssen. Fühlen Sie sich frei, meine Bearbeitung zurückzusetzen. Jan Doggen vor 11 Jahren 0
@untore Welche Windows-Version verwendest du? Vielleicht ist Powershell (Windows 7) auch eine Option? nixda vor 11 Jahren 1

2 Antworten auf die Frage

2
Jones

WinRAR!

  1. Wählen Sie alle Ordner aus
  2. Rechtsklick> Zum Archiv hinzufügen
  3. In den WinRAR-Optionen gehen Sie auf die Registerkarte Dateien
  4. Wählen Sie im unteren Bereich "Archiv" die Option "Jede Datei in ein separates Archiv einfügen".
  5. OK.

Nun wird jeder Ordner in einem neuen RAR- oder Zip-Archiv erstellt.

0
uprego

Wenn Sie über einen UNIX-Hintergrund verfügen, können Sie Cygwin installieren und ein Bash-Skript zum Abrufen von Verzeichnissen schreiben, die rekursiv einen Cygwin-zip-Befehl oder ein anderes CLI-Programm (zip command line interface) aufrufen.

Sie können Python auch installieren und auf diese Weise ist ein Skript zum rekursiven Abstieg noch einfacher. Jeder Schritt kann ein CLI-Zip-Programm aufrufen.

Sie können wahrscheinlich die Powershell verwenden, bin mir aber nicht sicher, wie einfach das rekursive Absteigen verwendet werden kann.