如何一步解压缩 .tar.gz(使用 7-Zip)?

qui*_*cel 109 windows tar 7-zip

我在 Windows XP 上使用 7-Zip,每当我下载 .tar.gz 文件时,我都需要两个步骤才能完全解压缩文件。

  1. 我右键单击该example.tar.gz文件并从上下文菜单中选择7-Zip --> Extract Here
  2. 然后我获取生成的example.tar文件并再次右键单击并从上下文菜单中选择7-Zip --> Extract Here

有没有办法通过上下文菜单一步完成此操作?

qua*_*ote 54

并不真地。.tar.gz 或 .tgz 文件实际上是两种格式:.tar一种是存档格式,.gz一种是压缩格式。所以第一步解压,第二步解压存档。

要一步完成所有工作,您需要该tar程序。 Cygwin包括这个。

tar xzvf foobaz.tar.gz

; x = eXtract 
; z = filter through gZip
; v = be Verbose (show activity)
; f = filename
Run Code Online (Sandbox Code Playgroud)

您也可以通过在 7-zip GUI 中打开.tar.gz文件来“一步”完成:打开文件,双击包含的.tar文件,然后将这些文件解压缩到您选择的位置。

有一个长期运行的线程在这里的人问/一步处理TGZ和BZ2文件的表决。迄今为止的缺乏行动表明,除非有人采取行动并做出有意义的贡献(代码、金钱等),否则它不会发生。

  • 如果 7zip 是智能的,它会默认一步完成,因为 99.99% 的时间这是用户想要做的。其实这是WinRar的默认操作。 (87认同)
  • 请注意,“一步”说明实际上并不是一步完成,而是将 .gz 解压缩到一个临时文件夹中,然后以 7-zip 格式打开 .tar 文件。当档案足够小时,它几乎不引人注意,但在大型档案中却非常引人注意。只是认为这值得澄清。 (9认同)
  • @davr:7-zip 是一项开源成果;随时请求此功能。这就是 v4.65 的运作方式;我还没有尝试过较新的 v9.x alpha,所以它可能已经包含在内。 (7认同)
  • 对于 Windows 操作系统上的 7-zip 应用程序用户,是否有使用上下文菜单的解决方案? (2认同)
  • 感谢你的回答。顺便说一句,即使没有 Cygwin,它也对我有用。tar 碰巧从一开始就在我的 Windows 10 上:C:\Windows\system32\tar.exe (2认同)

use*_*856 36

老问题,但我今天在苦苦挣扎,所以这是我的 2c。7zip 命令行工具“7z.exe”(我安装了 v9.22)可以写入标准输出并从标准输入读取,因此您可以使用管道在没有中间 tar 文件的情况下进行:

7z x "somename.tar.gz" -so | 7z x -aoa -si -ttar -o"somename"
Run Code Online (Sandbox Code Playgroud)

在哪里:

x     = Extract with full paths command
-so   = write to stdout switch
-si   = read from stdin switch
-aoa  = Overwrite all existing files without prompt.
-ttar = Treat the stdin byte stream as a TAR file
-o    = output directory
Run Code Online (Sandbox Code Playgroud)

有关命令行命令和开关的更多信息,请参阅安装目录中的帮助文件 (7-zip.chm)。

您可以为 .tar.gz/.tgz 文件创建上下文菜单条目,使用 regedit 或stexbar等第三方工具调用上述命令。

  • ..ahh 但它在帮助文件中;-ao[a|s|t|u](覆盖模式)。因此:-aoa = 在没有提示的情况下覆盖所有现有文件 (2认同)

Joa*_*uer 15

从 7-zip 9.04 开始,有一个命令行选项可以在不使用普通.tar文件的中间存储的情况下进行组合提取:

7z x -tgzip -so theinputfile.tgz | 7z x -si -ttar
Run Code Online (Sandbox Code Playgroud)

-tgzip如果输入文件被命名.tgz而不是.tar.gz.

  • 有什么方法可以将其放入 Windows 10 Explorer 上下文菜单中? (8认同)

小智 5

您使用的是 Windows XP,因此默认情况下应该安装 Windows Scripting Host。话虽如此,这里有一个 WSH JScript 脚本可以满足您的需要。只需将代码复制到文件名xtract.bat或类似的名称(可以是任何名称,只要它具有扩展名.bat),然后运行:

xtract.bat example.tar.gz
Run Code Online (Sandbox Code Playgroud)

默认情况下,该脚本将检查脚本的文件夹以及系统的PATH环境变量 7z.exe。如果您想更改它查找内容的方式,可以将脚本顶部的 SevenZipExe 变量更改为您想要的可执行文件名称。(例如,7za.exe 或 7z-real.exe)您还可以通过更改 SevenZipDir 设置可执行文件的默认目录。所以如果7z.exeC:\Windows\system32\7z.exe,你可以输入:

xtract.bat example.tar.gz
Run Code Online (Sandbox Code Playgroud)

无论如何,这是脚本:

var SevenZipDir = "C:\\Windows\\system32";
Run Code Online (Sandbox Code Playgroud)


小智 5

从 Windows 10 build 17063 开始,tarcurl支持,因此可以使用tar命令一步解压缩 .tar.gz 文件,如下所示。

tar -xzvf your_archive.tar.gz

键入tar --help以获取有关 的更多信息tar