以编程方式一步提取 tar.gz(在使用 7-Zip 的 Windows 上)

2023-12-19

Problem:我希望能够一步提取 tar.gz 文件。这让我的问题almost与此相同:tar-gz 的堆栈溢出问题 https://stackoverflow.com/questions/651018/opening-a-tar-gz-file-with-a-single-command.

我的问题是almost相同,但不一样,因为我想在 Windows 上使用 bat 文件或 Ruby/Perl/Python 脚本中的 7-Zip 命令行(或类似的东西)来执行此操作。

问题:事实证明,这个看似简单的任务比乍一看要复杂得多。有人有一个脚本可以做到这一点吗?


老问题,但我今天一直在努力解决这个问题,所以这是我的 2c。 7zip 命令行工具“7z.exe”(我安装了 v9.22)可以写入 stdout 并从 stdin 读取,因此您可以通过使用管道而无需中间 tar 文件:

7z x "somename.tar.gz" -so | 7z x -aoa -si -ttar -o"somename"

Where:

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

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

As noted https://stackoverflow.com/questions/1359793/programmatically-extract-tar-gz-in-a-single-step-on-windows-with-7zip/14699663#comment42886706_14699663 by @zespri https://stackoverflow.com/users/284111/zespripowershell 将缓冲第二个 7z 进程的输入,因此如果您的 tar 文件很大,可能会消耗大量内存。 IE:

& 7z x "somename.tar.gz" -so  | & 7z x -aoa -si -ttar -o"somename"

解决方法来自这个答案 https://stackoverflow.com/a/28058958/737471如果您想从 powershell 执行此操作,请将命令传递给 cmd.exe:

& cmd.exe '/C 7z x "somename.tar.gz" -so | 7z x -aoa -si -ttar -o"somename"'
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

以编程方式一步提取 tar.gz(在使用 7-Zip 的 Windows 上) 的相关文章

  • 使用 Inno Setup 中格式化(部分粗体)的文本制作安装程序?

    有人看过 GOG com 游戏安装程序吗 如何制作像这样的欢迎文本字符串 包括单个标题中的路径和需要大小 其中部分内容加粗 以下是修改安装路径后如何更改字符串换行的示例 您可以使用TRichEditViewer http www jrsof
  • ejabberd 16.06 + mysql 5.5.50,消息历史记录不保存

    我使用ejabberd 16 06 mysql 5 5 50 消息历史记录没有保存 我的 ejabberd yml MySQL server odbc type mysql odbc server freldo odbc port 3306
  • tar.gz 和 tgz 是同一个东西吗? [关闭]

    Closed 这个问题不符合堆栈溢出指南 help closed questions 目前不接受答案 我创建了 tgz 文件tar czvf filecommand then 我最终得到了一个 tgz 文件 我想知道它和tar gz 之间的
  • bash "&" 不打印 "[1]+ Done "

    我在 bashrc 中调用一个脚本来打印打开终端时收到的新消息数 我希望该调用在访问网络时是非阻塞的 有时需要几秒钟 这意味着我无法使用终端直到完成 但是如果我输入 mailcheck 在我的 bashrc 中 它工作正常 但然后打印一个空
  • C shell 脚本中是否有短路逻辑运算符?

    我认为 C shell 脚本的行为会像 C 一样 并对逻辑运算符使用短路求值 if e cache find monitor newer cache then endif 但在 if 语句中 即使第一个条件为真 也会检查第二个条件 从而给出
  • 无法使用 tar -cvpzf 解压完整目录

    把我的头敲在这上面 I used tar cvpzf file tar gz压缩一个完整的目录 我将文件移动到另一台服务器 并尝试解压缩复制存档的目录 无法使其发挥作用 bash 3 2 tar xvpzf news tar gz tar
  • Apache 2 gzip json 默认输出吗?

    我正在使用此 PHP 代码进行 json 输出 apache默认gzip吗 或者 我该如何检查才能确定 header Content type application json header Cache Control max age 0
  • 优化 HTML 属性压缩顺序

    我在某处读到 按一定顺序组织 HTML 属性可以提高 HTML 文档的压缩率 我想我是从 Google 或 Yahoo 推荐的更快网站上读到这篇文章的 如果我没记错的话 建议是将最常见的属性放在第一位 例如id等 然后将其余的按字母顺序排列
  • 使用 tac 和 sed 反转文件

    我有一个用例 我需要搜索并替换文件中最后一次出现的字符串并将更改写回文件 下面的案例是该用例的简化版本 我正在尝试反转该文件 进行一些更改 再次将其反转并写入该文件 我为此尝试了以下代码片段 tac test sed s a b sed i
  • mmap 和 gzip 可以协作吗?

    我试图弄清楚如何将 mmap 与 gzip 压缩文件一起使用 这可能吗 import mmap import os import gzip filename r C temp data gz file gzip open filename
  • HTTP请求压缩

    一般用例 想象一下一个正在上传大量 JSON 的客户端 内容类型应保留application json因为这描述了实际数据 Accept Encoding 和 Transfer Encoding 似乎是为了告诉服务器应该如何格式化响应 看起
  • 将 Rack::Deflater 插入机架中的哪个位置?

    我目前有以下内容 use Rack Rewrite use Rack Cache verbose gt true metastore gt memcached localhost 11211 rack cache meta entityst
  • 使用 tar 压缩带有密码的文件 tar.gz [关闭]

    Closed 这个问题不符合堆栈溢出指南 help closed questions 目前不接受答案 I use tar czf test tar gz test 压缩test文件夹到test tar gz 现在 我想压缩为test tar
  • 如何从 python 脚本执行 7zip 命令

    我试图了解如何使用 os system 模块来执行 7zip 命令 现在我不想用 Popen 或 subprocess 让事情变得复杂 我已经安装了 7zip 并将 7zip exe 复制到我的用户文件夹中 我只想提取我的测试文件 inst
  • 如何解压 PHP/Lumen/Laravel 的 gzip 请求?

    我收到来自第三方的 gzip 编码文本请求 1mb 所以这是有道理的 我的测试路线 router gt post testgzip function Illuminate Http Request request decompressed
  • 如何使用 UNIX shell 脚本删除平面文件的页眉和页脚记录?

    我有一个平面文件 如下所示 如何使用 UNIX shell 脚本从文件中删除页眉和页脚并重写同一文件 9 20050427 HEADER RECORD 0000000 00000 000000000 123456 00 654321 DAT
  • Bash:使用参数扩展查找和替换

    我想更换输入法 find string include 圆进度 38px 30px 4eb630 和输出 输出字符串 include 圆进度 38px 30px using find string pattern replacement s
  • 如何在 Python 中 gzip 压缩字符串?

    如何在 Python 中 gzip 压缩字符串 gzip GzipFile https docs python org 2 library gzip html gzip GzipFile存在 但那是针对文件对象的 那么对于纯字符串呢 如果你
  • 在 Windows powershell 中选择下拉列表中的 Web ui 测试自动化选项

    抱歉 如果这个问题太简单了 但我对 Windows Powershell 相当陌生 我看过的所有下拉列表教程都向您展示了如何向用户显示下拉列表 无论如何 我想做的是使用 Powershell 测试我的 Web 应用程序 我需要将下拉列表更改
  • SQL Server 数据归档解决方案

    我正在寻找一种解决方案来存档数据库中存在的数据 我的数据库是 SQL Server 2008 大约有 250 个表 我搜索网络并找到以下链接 http www dbazine com sql sql articles charran13 h

随机推荐