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

时间:2012-07-12 10:58:50

标签: windows compression cmd gzip 7zip

我已经搜索了如何在Windows cmd上使用7z压缩文件/文件夹,我找到了压缩到的方式:zip,tar,7z,.. iec但不是.tar.gz或.tar.bz2 < / p>

这是我用户的文档: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压缩&amp;当然不知道如何在CMD上。无论如何?我确定有一种方法使用7z bot如何?如果有其他选择,那就没关系..

4 个答案:

答案 0 :(得分:8)

解决。您可以通过编写包含以下内容的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控制台中直接执行此操作,则应删除双%符号。

答案 1 :(得分:2)

使用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

答案 2 :(得分:0)

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

所以你需要在命令行上分两步完成它

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

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

答案 3 :(得分:0)

这是一个单行:

select @employeeId = 'E' + Convert(varchar(4), Min(Convert(int, Right(a.EmployeeId, 4))))
from #Employees as a;

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