Curl 在Windows上下载并解压缩存档
在Windows上,如何下载tar.xz归档文件并将其解压缩,而不先将其写入磁盘 这一尝试:Curl 在Windows上下载并解压缩存档,curl,cmd,7zip,Curl,Cmd,7zip,在Windows上,如何下载tar.xz归档文件并将其解压缩,而不先将其写入磁盘 这一尝试: curl -L https://www.example.com/archive.tar.xz | 7z x -si -so | 7z x -si -ttar -ofolder 给出与此类似的错误: % Total % Received % Xferd Average Speed Time Time Time Current
curl -L https://www.example.com/archive.tar.xz | 7z x -si -so | 7z x -si -ttar -ofolder
给出与此类似的错误:
% Total % Received % Xferd Average Speed Time Time Time Current
Dload Upload Total Spent Left Speed
0 0 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- 0
7-Zip 19.00 (x64) : Copyright (c) 1999-2018 Igor Pavlov : 2019-02-21
Extracting archive: ERROR:
Can not open encrypted archive. Wrong password?
Not implemented
--
Path =
Type = tar
Code Page = UTF-8
Everything is Ok
Files: 0
Size: 0
Compressed: 0
100 144 100 144 0 0 144 0 0:00:01 --:--:-- 0:00:01 214
(23) Failed writing body
首先将归档文件写入磁盘时,它会起作用:
curl -L https://www.example.com/archive.tar.xz -o temp.tar.xz && 7z x -so temp.tar.xz | 7z x -si -ttar -ofolder && del temp.tar.xz
在
cmd.exe
中,如果希望连接行,可以使用^
而不是\
。So类型curl-Lhttps://www.example.com/archive.tar.xz ^
,按enter键,然后在更多?
提示下继续键入命令行。当然,你可以在一行上全部输入。但是,在您的情况下,这将不起作用,因为cmd.exe不是这样工作的,您不能仅将命令与管道链接。另外,当你下载一个文件时,你认为会发生什么?只需在内存中缓存,直到完成,然后在那里等待您对其执行操作,而不是将其写入磁盘?谢谢,我已经解决了这个问题。不过,这个问题仍然适用:/I我问你,当你也下载一个文件时,你认为会发生什么?curl
默认情况下,会将下载的文件内容发送到stdout
。因此,应该可以使用|7z x-si
将其直接发送到7-ziphttps://www.example.com/archive.tar.xz将通过管道传输,而不是目标文件内容!