Question

PROBLÈME: Je voudrais être capable d'extraire tar.gz fichiers en une seule étape.Cela rend ma question presque identique à celui-ci: stackoverflow question pour tar-gz.

Ma question est presque de même, mais pas le même, parce que je voudrais le faire sur windows à l'aide de 7-zip en ligne de commande (ou quelque chose de similaire) à l'intérieur d'un fichier bat ou ruby/perl/python script.

QUESTION: Cette tâche apparemment simple se révèle être plus complexe que le premier aspect ne font dehors pour être.Quelqu'un aurait-il un script qui fait cela déjà?

Était-ce utile?

La solution

7z e example.tar.gz  && 7z x example.tar

Utilisation && pour combiner deux commandes en une seule étape.Utiliser 7zip portable (vous en aurez besoin 7z.exe et 7z.dll seulement)

Autres conseils

Vieille question, mais j'ai eu du mal avec elle aujourd'hui alors voici ma 2c.Le 7zip outil de ligne de commande "7z.exe" (j'ai la v9.22 installation) peut écrire sur la sortie standard et de les lire depuis l'entrée standard de sorte que vous pouvez le faire sans passer par l'intermédiaire du fichier tar en utilisant un tuyau:

7z x "somename.tar.gz" -so | 7z x -aoa -si -ttar -o"somename"

Où:

x     = Extract with full paths command
-so   = write to stdout switch
-si   = read from stdin switch
-aoa  = Overwrite all existing files without prompt.
-ttar = Treat the stdin byte stream as a TAR file
-o    = output directory

Consultez le fichier d'aide (7-zip.chm) dans le répertoire d'installation pour plus d'informations sur la ligne de commande commandes et les interrupteurs.

Comme a noté par @zespri powershell tampon de l'entrée à la deuxième 7z processus, de sorte que peut consommer beaucoup de mémoire si votre fichier tar est grande.j'.e:

& 7z x "somename.tar.gz" -so  | & 7z x -aoa -si -ttar -o"somename"

Une solution de contournement de l' cette SORTE de réponse si vous voulez le faire à partir de powershell est de passer les commandes à cmd.exe:

& cmd.exe '/C 7z x "somename.tar.gz" -so | 7z x -aoa -si -ttar -o"somename"'

L'utilisation de la win32 port de goudron.

tar -xvfz filename.tar.gz

Depuis que vous avez demandé pour 7-zip ou quelque chose de similaire, je suis en fournissant une solution de rechange outil qui a été écrit à votre cas d'utilisation.

L' tartool utilitaire est un logiciel gratuit et open source outil construit à l'aide de l' .NET SharpZipLib de la bibliothèque.

Exemple de commande pour extraire un .tar.gz / .tgz - fichier,

C:\>TarTool.exe D:\sample.tar.gz ./

Avertissement :Je suis l'auteur de cet utilitaire.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top