Jak używać interfejsu 7-Zip CLI dla systemu Windows do tworzenia archiwów .tar.gz?

30

Jak korzystać z interfejsu 7-Zip CLI ( 7za.exe ) w systemie Windows do tworzenia archiwów .tgz, tak jak tar zcvf archive.tgz source_filesw systemie Linux?

f. kardynał
źródło

Odpowiedzi:

35

Jeśli chcesz to zrobić w jednej linijce:

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

-anPrzełącznik mówi 7-Zip nie do analizowania wiersza polecenia archive_name parametr, który jest zwykle wymagane.

afrazier
źródło
Uwaga: jeśli nie masz 7za.exe w folderze 7zip, możesz również użyć 7zg.exe, jeśli jest dostępny
anion
1
W moim przypadku nie było tam ani 7za.exe, ani 7zg.exe, ale 7z.exe.
JoL
tar jest wymagany, ponieważ tgz lub tar.gz to plik tar, który został skompresowany gzip. 7zip po prostu nie ma możliwości zrobienia tego wszystkiego w jednym kroku, więc musisz przesłać dane wyjściowe polecenia, które parsuje twoje pliki do tego, który zgzipuje twój tar ^^. To dlatego, gdy yopu otwiera plik tar.gz w 7zip, widzisz w nim plik tar.
DGoiko
@DGoiko Znam tę część - po prostu nie rozumiem, dlaczego archive.tar nazwa pliku jest wymagana, gdy dane są przesyłane strumieniowo na standardowe wyjście.
afrazier
Rozumiem. Myślałem, że gz potrzebuje wewnętrznej nazwy pliku, aby być poprawnie wyświetlanym, ale może się myliłem.
DGoiko
5

Jeśli tylko kompresujesz 1 plik do archiwum, to 7za a archive.tgz source_filezadziała.

Jeśli chcesz dodać wiele plików do tar, musisz to zrobić w dwóch krokach: Utwórz tar, a 7za a archive.tar source_files następnie skompresuj7za a archive.tgz archive.tar

I opcjonalnie usuń „tymczasową” smołę del archive.tar

Chris Kent
źródło