Verwenden von 7zip zum Extrahieren mehrerer Zip-Dateien in mehreren Ordnern

Verwenden von 7zip zum Extrahieren mehrerer Zip-Dateien in mehreren Ordnern

Ich habe eine große Ordnerstruktur. Angenommen, es gibt Ordner mit den Namen A, B, C usw. bis Z. In jedem Ordner befinden sich eine Reihe von ZIP-Dateien.

Ich kann alle Zip-Dateien in einem Ordner auswählen, mit der rechten Maustaste klicken, 7zip auswählen und „Nach „*“ extrahieren“ auswählen und es funktioniert perfekt. Wenn ich das beispielsweise mit den Zip-Dateien in Ordner A mache, enthält A einen Ordner für jede Zip-Datei mit dem Inhalt der Zip-Datei darin.

Ich möchte in ALLEN Ordnern (AZ) nach allen ZIP-Dateien suchen und diesen Vorgang auf einmal ausführen, sodass in jedem Ordner (AZ) Ordner für alle darin enthaltenen ZIP-Dateien vorhanden sind.

Tatsächlich passiert Folgendes: 7zip extrahiert alles in den ersten Ordner, den es findet (sagen wir, A).

Kennt jemand eine Möglichkeit, dies zu tun?

Antwort1

Sie können die Windows-Befehlszeile verwenden. Klicken Sie einfach auf das Windows-Logo, geben Sie ein cmdund drücken Sie ENTER. Wechseln Sie dann zu dem Verzeichnis, das die Unterverzeichnisse mit Ihren Zip-Dateien enthält, indem Sie cd c:\my\example\dirund eingeben. ENTERWenn es sich auf einem anderen Laufwerk befindet, geben Sie z. B. ein i:und erneut, ENTERum zu diesem Laufwerk zu wechseln. Jetzt sollte der richtige Pfad vor dem Cursor angezeigt werden. Geben Sie dann ein

for /F "usebackq" %f in (`dir /b/a:d`) do @echo %f

und ENTER. dir /b/a:dgibt eine Zeile pro Verzeichnis zurück. Für jede dieser Zeilen dowird der dahinter stehende Befehl ausgeführt. @echo %fschreibt einfach die gefundenen Namen auf Ihren Bildschirm, sodass Sie sicher steuern können, was ausgeführt wird, wenn Sie entfernen @echo. In Ihrem Fall benötigen Sie etwas wie

for /F "usebackq" %f in (`dir /b/a:d`) do C:\APPS\7-Zip\7z.exe x .\%f\*.zip -o%f

Dadurch wird für jedes Unterverzeichnis die 7zip-Befehlszeilen-Ausführungsdatei aufgerufen (Sie müssen den Pfad C:\APPS\7-Zip\zu Ihrem System anpassen) und alle Zip-Dateien einschließlich ihres vollständigen Pfads in das aktuelle Unterverzeichnis extrahiert. Weitere Informationen zur 7zip-Syntax finden Sie unterhttps://www.dotnetperls.com/7-zip-examples

Wenn Sie dies immer wieder tun, können Sie eine einfache.Schläger/.cmd-Datei mit dem oben genannten Befehl, aber Sie müssen höchstwahrscheinlich % durch %% ersetzen, damit es funktioniert.

Antwort2

Ich habe es so hinbekommen, wie ich es wollte. Der richtige Befehl lautet:

for /F "tokens=*" %%g in ('dir /b/a:d') do "C:\Program Files\7-Zip\7z.exe" x ".\%%g\*.zip" -o"%g\*" -aos

Antwort3

Wenn Sie Windows verwenden, navigieren Sie zum Stammordner mit den Ordnern A, B, C und D und führen Sie dann eine Suche durch *.zipoder *.rarwählen/markieren Sie in der Windows-Suche alle Zip-Dateien aus und verwenden Sie 7-Zip, um zu tun, was Sie möchten. Sollte auch mit Dolphin (Linux) problemlos funktionieren.

verwandte Informationen