Comment utiliser la CLI 7-Zip pour Windows pour créer des archives .tar.gz?

30

Comment puis-je utiliser la CLI 7-Zip ( 7za.exe ) sous Windows pour créer des archives .tgz, comme j'utilise tar zcvf archive.tgz source_filessous Linux?

f.ardelian
la source

Réponses:

35

Si vous souhaitez le faire en monoplace:

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

Le -ancommutateur indique à 7-Zip de ne pas analyser le paramètre de ligne de commande archive_name qui est normalement requis.

afrazier
la source
Remarque: si vous n'avez pas 7za.exe dans votre dossier 7zip, vous pouvez également utiliser 7zg.exe si disponible
anion
1
Dans mon cas, ni 7za.exe ni 7zg.exe n'étaient présents, mais 7z.exe l'était.
JoL
tar est nécessaire car un tgz ou tar.gz est un fichier tar qui a été compressé. 7zip n'a tout simplement pas la possibilité de faire tout cela en une seule étape, vous devez donc diriger la sortie de la commande qui tarifie vos fichiers dans celle qui gzips votre tar ^^. C'est pourquoi lorsque vous ouvrez un tar.gz dans 7zip, vous voyez un fichier tar à l'intérieur.
DGoiko
@DGoiko Je connais cette partie - je ne comprenais tout simplement pas pourquoi le archive.tar nom de fichier est requis lorsque les données sont diffusées sur stdout.
afrazier
Oh je vois. Je pensais que gz avait besoin du nom de fichier interne pour être correctement affiché, mais je me trompais peut-être.
DGoiko
5

Si vous ne faites que compresser 1 fichier dans l'archive, 7za a archive.tgz source_filecela fonctionnera.

Si vous souhaitez ajouter de nombreux fichiers au tar, vous devez le faire en deux étapes: créer le tar 7za a archive.tar source_files puis le compresser7za a archive.tgz archive.tar

Et, facultativement, supprimez le goudron «temporaire» del archive.tar

Chris Kent
la source