从FTP站点在窗口中使用wget或aria2并行下载



如何使用 wget2 或 aria 从这里下载所有文件(并行(:ftp://ftp.soilgrids.org/data/recent/

我尝试了aria2c -j 8 ftp://ftp.soilgrids.org/data/recent/但它没有做任何事情(也没有显示任何错误消息(

我在窗户上

wget不是多线程的,因此您需要以某种方式拆分包中的URL并多次调用该程序。另一方面,aria2无法递归下载。由于您在Windows上,因此除了cmd和给定的wgetaria2之外,我不能假设太多有用的东西。

我们可以下载带有wget的目录列表,并构建一个带有 URL 的文本文件,供aria2并行下载。一个小批处理文件将相应地处理数据:

@ECHO OFF
SETLOCAL EnableDelayedExpansion    
SET host=ftp://ftp.soilgrids.org/data/recent
DEL urls.txt
REM fetch dirlisting from ftp
wget --no-remove-listing !host!/
FOR /F "tokens=1,9" %%G IN (.listing) DO (
    SET "modeflags=%%G"
    REM skip directories
    IF "x!modeflags:d=!"=="x!modeflags!" (
        ECHO !host!/%%H >> urls.txt
    )
)
REM cleanup
DEL .listing.*
DEL index.html.*

然后,你可以做...

aria2c -j8 -i urls.txt

。以并行下载文件。

最新更新