Fichier / dossier Windows CMD Compression utilisant 7z ou une alternative .tar.gz

J’ai cherché comment compresser des fichiers / dossiers en utilisant 7z sur Windows cmd, j’ai trouvé le moyen de compresser à: zip, tar, 7z, ..etc mais pas .tar.gz ou .tar.bz2

Voici la documentation que j’utilise: http://www.dotnetperls.com/7-zip-examples

Et voici la commande que j’ai utilisée:

for /d %%X in (*) do "c:\Program Files\7-Zip\7z.exe" a -t7z "%%X.7z" "%%X\" 

Changer “7z” dans les deux “%% X.7z” “-t7z” à l’extension requirejse, et vous êtes prêt à obtenir le résultat souhaité. Mais malheureusement, cette manière ne s’applique pas à .tar.gz

Je dois utiliser la compression gzip et je ne sais pas comment, bien sûr, sur CMD. En tous cas? Je suis sûr qu’il y a un moyen d’utiliser 7z bot comment? S’il y a des alternatives, c’est OK ..

Résolu Vous pouvez accomplir cela en écrivant un fichier batch CMD avec le contenu suivant:

 for /d %%X in (*) do "c:\Program Files\7-Zip\7z.exe" a -ttar "%%X.tar" "%%X\" for %%X in (*.tar) do "c:\Program Files\7-Zip\7z.exe" a -tgzip "%%X.gz" "%%X" 

Notez que les signes double % doivent être supprimés si vous essayez d’exécuter directement cela dans une console CMD interactive.

Avec 7-Zip 9.20, vous pouvez éviter que la boucle for ajoute juste \ à la fin du nom, cela fonctionne pour moi:

set "_dir=%1" set "_7zexe=c:\\7z.exe" "%_7zexe%" a -ttar %_dir%.tar %_dir%\ "%_7zexe%" a -tgzip %_dir%.gz %_dir%.tar

.tar.gz est en fait deux formats. TAR est une archive non compressée contenant plusieurs fichiers. GZIP est un fichier compressé contenant le fichier tar unique.

Donc, vous devez le faire en deux étapes sur la ligne de commande

Par exemple, pour append des fichiers texte à files.tar.gz

 7z.exe a -ttar files.tar *.txt 7z.exe a -tgzip files.tar.gz files.tar 

Voici un one-liner:

 7za a dummy -ttar -so @filelist | 7za a pack.tgz -sipack.tar -tgzip -mx9 

ou

 for /d %%X in (*) do ( 7za a dummy -ttar -so "%%X\" | 7za a %%X.tgz -tgzip -si%%X.tar )