我正在使用从 URL 下载文件列表的选项wget
。-i
不过,我也想指定这些文件的保存名称。
我看到您可以使用 对单个文件执行此操作-O
,并可以使用 指定目录-P
;是否可以下载文件列表并为每个文件指定文件名?
答案1
获得
可能不适用于 wget
perl
就像是 ...
perl -MLWP::Simple -lane 'getstore($F[0],$F[1])' urls_and_filenames.txt
对于 Windows,使用“而不是’
卷曲
我注意到curl
有一些可能相关的选项
-K,--配置
指定从哪个配置文件读取 curl 参数。
…
--url
指定要获取的 URL。当您想在配置文件中指定 URL 时,此选项非常方便。
此选项可使用任意次数。要控制此 URL 的写入位置,请使用 -o、--output 或 -O、--remote-name 选项。
…
-o, --output <file>
将输出写入到 stdout 而不是 stdout。如果您使用 {} 或 [] 来获取多个文档,则可以在说明符中使用“#”后跟数字。该变量将被替换为正在获取的 URL 的当前字符串。例如:
curl http://{one,two}.site.com -o "file_#1.txt"
或者使用几个变量,如:
curl http://{site,host}.host[1-5].com -o "#1_#2"
您可以根据您拥有的 URL 数量多次使用此选项。
…
答案2
不是wget
,但aria2c
支持这一点https://aria2.github.io/manual/en/html/aria2c.html#input-file
aria2c -i fileList.txt
例如fileList.txt的内容为:
http://server/file.iso http://mirror/file.iso
dir=/iso_images
out=file.img
http://foo/bar
如果使用选项执行 aria2 -i fileList.txt -d /tmp
,则将file.iso
保存为并从和/iso_images/file.img
下载。文件从 下载并保存为。http://server/file.iso
http://mirror/file.iso
bar
http://foo/bar
/tmp/bar