【发布时间】:2017-02-21 23:26:43
【问题描述】:
我正在尝试使用命令行在 Windows 中提取 tar.gz 文件并获取进度百分比。 首先,我希望在单个操作中提取它(而不是提取 tar 然后解压缩)。我发现的唯一两个可以做到这一点的工具是Tartool 和 7zip。 Tartool 很好(也很容易发现错误)但是没有任何进展。 7zip你必须使用strem进出,所以我创建了一个基本的bat文件:
cd /d %~dp0
7z.exe x "%1" -so | 7z.exe x -aoa -si -ttar -o"%2"
提取效果很好,但整个过程中进度仍然是0%(我尝试从cmd运行),我认为这是因为流输入和输出。
我知道即使执行此操作(提取 tgz 文件),winrar 也可以显示进度百分比,那么我怎样才能获得相同的结果?
最接近我的目标的是获取输出目录大小并除以 tar.gz 文件的未压缩大小(通过 7z.exe l 函数获得)。进度也不是线性的,只有在提取文件时才会改变(例如,如果我的 targz 包含 2 个非常大的文件,我在提取过程中只能得到 0%、50% 和 100%)
【问题讨论】:
标签: windows cmd gzip extract tar