¿Cómo uso 7-Zip CLI para Windows para crear archivos .tar.gz?


30

¿Cómo puedo usar la CLI 7-Zip ( 7za.exe ) en Windows para crear archivos .tgz, como uso tar zcvf archive.tgz source_filesen Linux?

Respuestas:


35

Si desea hacerlo de una sola línea:

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

El -aninterruptor le dice a 7-Zip que no analice el parámetro de línea de comando archive_name que normalmente se requiere.


nota: si no tiene 7za.exe en su carpeta 7zip, también puede usar 7zg.exe si está disponible
anion

1
En mi caso, ni 7za.exe ni 7zg.exe estaban allí, pero sí 7z.exe.
JoL 01 de

tar se requiere porque tgz o tar.gz es un archivo tar que se ha comprimido. 7zip simplemente no tiene la capacidad de hacerlo todo en un solo paso, por lo que debe canalizar la salida del comando que almacena sus archivos en el que comprime su tar ^^. Es por eso que cuando abre un tar.gz en 7zip, ve un archivo tar dentro.
DGoiko

@DGoiko Conozco esa parte: simplemente no entendí por qué se requiere el archive.tar nombre de archivo cuando los datos se transmiten a stdout.
Afrazier

Oh ya veo. Pensé que gz necesitaba el nombre de archivo interno para que se mostrara correctamente, pero tal vez estaba equivocado.
DGoiko

5

Si solo está comprimiendo 1 archivo en el tarball 7za a archive.tgz source_file, funcionará.

Si desea agregar muchos archivos al tar, debe hacerlo en dos pasos: crear el tar y 7za a archive.tar source_files luego comprimirlo7za a archive.tgz archive.tar

Y, opcionalmente, elimine el alquitrán 'temporal' del archive.tar

Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.