2

我搜索了如何在 windows cmd 上使用 7z 压缩文件/文件夹,我找到了压缩到的方法:zip、tar、7z、..etc 但不是 .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 如何?如果有替代品就好了。。

4

4 回答 4

9

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

于 2012-07-12T16:11:58.973 回答
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

于 2014-09-22T14:33:46.357 回答
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
于 2012-07-12T11:11:36.800 回答
0

这是一个单行:

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 )
于 2016-10-28T20:47:48.167 回答