我有一堆 tar.xz 文件需要解压。我尝试使用以下命令,但出现错误。
tar -xJf "S:This_Is\the path\to_my_file.tar.xz"
tar: Error opening archive: Can't initialize filter; unable to run program "xz -d -qq"
我尝试了这两种方法-xJf
,-xf
结果都一样。我可以使用 7-zip 打开文件,但为此我必须先手动解压每个 .xz 文件,然后再解压,这有点麻烦。我以前可以使用 .bat 文件提取大量 tar.gz 文件,现在想对 tar.xz 文件执行相同操作。有没有办法让它工作?
答案1
xz
是最现代的 LZMA2 压缩选项,显然 Windowstar
程序不支持。
您应该使用其他支持该功能的程序,例如 7-Zip。
如果最新的 7-Zip 不支持xz
,请尝试其分支
7-Zip-zstd
它支持更多的压缩方法。
答案2
tar
本身不进行压缩。相反,它依赖于外部压缩器,如和gzip
。如果没有这些单独的命令,您将无法使用相应的压缩类型。bzip2
xz
因此,您需要做的就是将xz
二进制文件放入可以找到它的%PATH%
地方tar
,然后就可以开始了。
您可能能够xz
使用与获得 相同的方式获得tar
。
答案3
正如其他答案所述,Windows 的 tar (bsdtar) 不附带 LZMA (.xz) 压缩工具。然而,他们误导你建议不能将 bsdtar 与 .xz 一起使用。
你需要做的就是安装 XZ Utils,它可以找到这里在“预建二进制文件”下。