Wie erstelle ich mit 7-Zip CLI für Windows .tar.gz-Archive?


30

Wie kann ich die 7-Zip-CLI ( 7za.exe ) unter Windows verwenden, um .tgz-Archive zu erstellen, wie ich es tar zcvf archive.tgz source_filesunter Linux verwende?

Antworten:


35

Wenn Sie es in einem Einzeiler machen möchten:

7za.exe a -ttar -so -an source_files | 7za.exe a -si archive.tgz

Der -anSchalter weist 7-Zip an, den normalerweise erforderlichen Befehlszeilenparameter archive_name nicht zu analysieren.


Hinweis: Wenn Sie keine 7za.exe in Ihrem 7zip-Ordner haben, können Sie auch 7zg.exe verwenden, falls verfügbar
Anion

1
In meinem Fall war weder 7za.exe noch 7zg.exe vorhanden, sondern 7z.exe.
JoL

tar wird benötigt, weil ein tgz oder tar.gz eine tar-Datei ist, die gzippt wurde. 7zip kann einfach nicht alles in einem Schritt erledigen, daher müssen Sie die Ausgabe des Befehls, der Ihre Dateien tariert, in die Ausgabe umleiten, die Ihr tar ^^ komprimiert. Aus diesem Grund wird beim Öffnen von tar.gz in 7zip eine tar-Datei angezeigt.
DGoiko

@DGoiko Ich kenne diesen Teil - Ich habe nur nicht verstanden, warum der archive.tar Dateiname erforderlich ist, wenn die Daten auf stdout gestreamt werden.
afrazier

Oh, ich verstehe. Ich dachte, dass gz den internen Dateinamen benötigt, um richtig angezeigt zu werden, aber vielleicht habe ich mich geirrt.
DGoiko

5

Wenn Sie nur 1 Datei in den Tarball komprimieren, 7za a archive.tgz source_filefunktioniert dies.

Wenn Sie dem Teer viele Dateien hinzufügen möchten, müssen Sie dies in zwei Schritten tun: Erstellen Sie den Teer, und 7za a archive.tar source_files komprimieren Sie ihn7za a archive.tgz archive.tar

Optional können Sie auch den temporären Teer löschen del archive.tar

Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.