如何提取压缩包?

问题描述 投票:0回答:1

背景

我在

tarball
中有一个发布文件。不过,我希望最终版本有一些附加文件并移动一些内容,以方便用户。

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

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

问题

虽然我已经清楚如何执行步骤 2,但使用

File
和朋友,我尝试了几种方法来执行步骤 1 和 3,但都失败了。

我尝试过使用

:zip
,但它返回了错误的编码错误,可能是因为该文件不是
zip
,而是
tar

我也知道

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

我还检查了

Unzip
,但它不适合我的用例。

问题

如何将

tar
文件提取到文件夹中并将文件夹压缩为
tar
文件?

zip elixir compression tar
1个回答
0
投票

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

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

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

© www.soinside.com 2019 - 2024. All rights reserved.