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?

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.


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

Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.