Windows CMD文件/文件夹压缩使用7z或替代.tar.gz

我已经search了如何使用7z压缩文件/文件夹在Windows CMD,我已经find了压缩的方式:zip,tar,7z,..等但不是.tar.gz或.tar.bz2

这里是我用户的文档: http : //www.dotnetperls.com/7-zip-examples

这是我使用的命令:

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

将“%% X.7z”“-t7z”中的“7z”更改为所需的扩展名,即可获得所需的结果。 但不幸的是,这种方式不适用于.tar.gz

我需要使用gzip压缩和不知道如何,当然在CMD。 任何方式? 我确定有一种方法使用7z bot如何? 如果有替代品,那就好了

解决了。 您可以通过编写具有以下内容的CMD批处理文件来完成此操作:

 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" 

请注意,如果您试图在交互式CMD控制台中直接执行此操作,则应删除双%符号。

使用7-Zip 9.20,你可以避免for循环在名字结尾添加\,这对我有用:

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

.tar.gz实际上是两种格式。 TAR是一个包含多个文件的未压缩归档文件。 GZIP是一个包含单个tar文件的压缩文件。

所以你需要在命令行上分两步进行

例如,将文本文件添加到files.tar.gz

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

这是一个单行的:

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

要么

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