如何提取压缩包?

How to extract a tarball?

提问人:Flame_Phoenix 提问时间:11/10/2023 最后编辑:Flame_Phoenix 更新时间:11/10/2023 访问量:30

问:

背景

我在 .但是,为了方便用户,我希望最终版本包含一些额外的文件并移动内容。tarball

这意味着我需要做 3 件事:

  1. 将 tarball 的内容解压缩到文件夹中
  2. 将额外的文件添加到所述文件夹并移动一些项目
  3. 再次压缩一切并收工

问题

虽然我很清楚如何使用和朋友执行第 2 步,但我尝试了几种方法来执行第 1 步和第 3 步,但我失败了。File

我试过使用 ,但它返回了一个错误的编码错误,可能是因为该文件不是 but 而是。:zipziptar

我也知道,但我不想阅读任何东西,我想将其提取到新文件夹中。File.open("path", :read, :compressed)

我还检查了解压缩,但它不适合我的用例。

问题

如何将文件解压到文件夹中并将文件夹压缩到文件中?tartar

Zip Elixir 压缩 焦油

评论


答:

0赞 Flame_Phoenix 11/10/2023 #1

我能够使用以下方法提取文件:

:ok = :erl_tar.extract("tar_path", [{:cwd, "tmp"}, :compressed])

这会将 tar 文件解压到 tmp 文件夹中。一旦到了那里,我就可以做剩下的事情了!