我已经搜索了如何在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如何?如果有其他选择,那就没关系..
答案 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