2017-02-03 28 views
1

Как я могу скачать все файлы (параллельно) с использованием wget2 или арию здесь: ftp://ftp.soilgrids.org/data/recent/Загрузка параллельно с помощью Wget или aria2 в окнах с FTP-сайта

Я попытался aria2c -j 8 ftp://ftp.soilgrids.org/data/recent/, но это ничего не делать (и не показать любое сообщение об ошибке либо)

Я на окнах

ответ

1

wget не многопоточный, так что вам нужно будет каким-то образом разделить URL-адреса в пакетах и ​​вызвать программу несколько раз. С другой стороны, aria2is not able to recursively download. Поскольку вы работаете в Windows, я не могу предположить много полезного, кроме cmd и данных wget и aria2.

Мы можем загрузить список каталогов с помощью 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 

... для загрузки файлов параллельно.