Этот скрипт Bash подходит для загрузки всего нескольких файлов, но мне нужно загрузить более сотни из них. VisualWGet может загрузить файл с файлами, но не может переименовать их.

Кто-нибудь знает утилиту Windows, которая будет принимать текстовый список из двух столбцов, где столбец 1 будет содержать полный URL-адрес файла, а столбец 2 будет содержать имя, которое будет использоваться для переименования?

4 ответа4

1

Или, используя Windows PowerShell ...

$folder = "D:\Output\"
$userAgent = "Mozilla/5.0 (Windows NT 6.1; WOW64; rv:7.0.1) Gecko/20100101 Firefox/7.0.1"
$web = New-Object System.Net.WebClient
$web.Headers.Add("user-agent", $userAgent)
$input = "D:\todownload.txt"
$delimit = " "

Get-Content $input |
    Foreach-Object { 
        $line = $_.split($delimit);
        $destination_file = ([io.path]::getfilename($line[1]))
        "[" + $destination_file  + "]" + "Downloading " + $line[0]
        try {
            $target = join-path $folder $destination_file
            $web.DownloadFile($line[0], $target)
        } catch {
            $_.Exception.Message + ": " + $destination_file
            add-content (join-path $folder ("downloader" + ".log")) ("[" + $destination_file + "] " + $_.Exception.Message)
            add-content (join-path $folder ("downloader" + ".retry")) ($line -join " ")
        }
    }

Входной файл (todownload.txt) имеет формат:

http://path.to.download.com/file.jpg 0001_NewFileName_file.jpg
0

perl -MLWP::Simple -n -e '($u,$n)=split;getstore($u,$n)' filenames.txt

(Проверено ОК)

где filenames.txt содержит что-то вроде

http://foo.com/a/b?parm=x   this.dat
http://bar.org//d/e/f.html  that.html

Тот же сценарий в более длинной форме

#!/usr/bin/perl
use strict;
use warnings;
use LWP::Simple;

open my $fh, '<', "filenames.txt" or die "can't read filenames.txt because $!\n";
while () {
  my ($url, $newname) = split;
  getstore($url, $newname);
}

(Непроверенные)

0

Вы также можете использовать Download Accelerator Plus (DAP) для загрузки и переименования.

Вам просто нужно создать список DAP, импортировать его в приложение, выбрать папку, в которую вы хотите сохранить файлы, и позволить ему работать.

Чтобы создать список DAP, просто откройте текстовый редактор и введите следующее для каждого файла, который вы хотите загрузить:

<filelist_index><fileinfo>
    <filename>FILENAME.EXT</filename>
    <url>FULL_URL_TO_FILE</url>
</fileinfo></filelist_index>

Замените FILENAME.EXT на нужное имя файла (не забудьте файл EXTENSION). Просто используйте MS Excel для консолидации кода, затем скопируйте и вставьте их в текстовый файл и сохраните его как файл XXX.DAP. Вот пример электронной таблицы: http://ge.tt/6sO1B2g

0

Вы можете сделать снимок расширения Firefox DownThemAll! , Он может загрузить несколько ссылок со страницы, вы можете отфильтровать список загрузок, а также применить шаблон переименования.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .