2017-04-08 110 views
0

批量下载我有这样的情况:我想下载一个名为像这样的一堆文件:wget的:与增量

683482, 684483, 685484, 686485, 687486, 688487, 689488, 690489, 691490, 692491, ... 

正如你可以看到,文件编号为1001的增量所以,什么是批量下载的最简单方法?

回答

0

请试试这个:

#!/bin/bash 
for i in {683482..1000000..1001} 
    do 
     wget $i 
    done 
+0

或'用于((ⅰ= 683482; I <= 1000000; I = I + 1001))' – Cyrus

+0

我不在bash编程专家。可能是这个作品或不我不知道。 – kodmanyagha

+0

'wget /$ i' 此外,wget接受多个URL参数。为了更快的下载,将URL添加到变量中,然后只执行一次wget。只需一次DNS查找,并且可能会有一个持久连接。 – rockdaboot

0
ECHO OFF 
CLS 
SETLOCAL ENABLEDELAYEDEXPANSION 

FOR /L %%A IN (683482,1001, 692491) DO (
    SET stringWget=wget %%A 
    !stringWget! 
) 

我会走一步看一步:

ECHO OFF防止Windows命令行从上显示的每个命令的命令提示符(这是可选的;但是, ,看起来很干净)。

CLS清屏;这将清除命令提示符的控制台显示。它does not clear the temporary environment variables or command history

SETLOCAL ENABLEDELAYEDEXPANSION用于非阻塞语句并且是Windows特定的;当我们使用%ENVIRONMENTVARIABLE%时,我们暗示阻塞语句,当我们使用!ENVIRONMENTVARIABLE!时,我们暗示非阻塞语句(意思是,在循环中,我们看到更新的值为%A,而不是在进入循环时重复%A的值)。我们在批处理文件中使用%%而不是%

FOR循环的语法可以在参考中找到。

参考:https://stackoverflow.com/a/3541415