Extrahieren Sie eine bestimmte Datei aus einem Archiv mit 7-Zip über die Befehlszeile

Wenn ich ein Archiv habe, z. B. some.zip, das eine oder mehrere Dateien enthält, wie kann ich dann nur eine Datei (ich kenne den Namen der Datei) mit 7-Zip aus der Befehlszeile in Windows extrahieren?

Author: Peter Mortensen, 2011-08-11

5 answers

Sie fügen einfach den Dateinamen am Ende hinzu.

7z e [archive.zip] -o [outputdir] [fileFilter]
 14
Author: surfasb,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/techietown.info/template/agent.layouts/content.php on line 61
2020-09-22 14:35:55

Fügen Sie als Follow-up zu surfasbs Antwort am Ende ein-r Flag hinzu, um es erneut zu wiederholen:

7z e [archive.zip] -o[outputdir] [fileFilter] -r

Unterstützung mehrerer Filter:

7z e [archive.zip] -o[outputdir] [fileFilter_1] [fileFilter_2] -r

Beispiel:

Mehrere Filter Befehlszeile:

7z e archive.zip -o outputdir *.xml *.dll -r

PS: ich benutze 7za.exe statt 7z.exe. Dies ist der eigentliche Befehl, den ich in meinem Skript verwende:

7za.exe x archive.zip -o outputdir *.xml *.pdb *.exe *.ocx *.dll -r
 42
Author: zionyx,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/techietown.info/template/agent.layouts/content.php on line 61
2017-03-20 10:17:03

Wenn Sie sich die Manpage für 7z ansehen, werden Sie feststellen, dass der folgende Befehl zum Extrahieren einer Datei aus einem 7z-Archiv verwendet werden kann (obwohl die Verwendung von path auf der Manpage fehlt):

7z x <archive> <path to file>

Beispiele:

7z x backup.7z *.html
7z x backup.7z folderwithin/myfile.html

Alternativ können Sie e verwenden.

Das command line version users guide scheint mehr Informationen über die tatsächliche Nutzung zu haben.

 6
Author: Todd Partridge,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/techietown.info/template/agent.layouts/content.php on line 61
2017-01-24 09:24:09

Beachten Sie, dass 7z die folgende Syntax hat (beachten Sie die Leerzeichen und Anführungszeichen, die die Option "-oMy Folder" umgeben, um den Namen des Ausgabeordners festzulegen, es hat Stunden gedauert, bis ich es herausgefunden habe, wie ich es ursprünglich getan habe-der falsche Weg: * -o "My Folder" *):

7z e "my zip.zip" "-oMy Folder" *.jpg "all of these.*" -r
 3
Author: Albert Marenčin,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/techietown.info/template/agent.layouts/content.php on line 61
2017-05-17 11:36:58

Ich fand, dass ich in der zsh-Befehlszeile mit 7-zip 16.06 doppelte Anführungszeichen um das Platzhalterfilterargument setzen musste. Zum Beispiel hat diese keine PDF-Dateien zum Extrahieren gefunden:

7z e "archive has pdf in subdirectory.zip" -r *.pdf

Aber unter Angabe des Platzhalterfilters hat die PDF-Datei gefunden und extrahiert, die sich in einem Unterverzeichnis des ZIP-Archivs befand, wie folgt:

7z e "archive has pdf in subdirectory.zip" -r "*.pdf"
 0
Author: Dave Hein,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/techietown.info/template/agent.layouts/content.php on line 61
2020-12-19 13:03:43