2017-04-08 111 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