Утиліта для завантаження та перейменування купи файлів?


0

Цей сценарій Bash чудово завантажує лише кілька файлів, але мені потрібно завантажити понад сто з них. VisualWGet може завантажити файл файлів, але не може перейменувати їх.

Хтось знає про утиліту Windows, яка взяла б список двох стовпців з текстом, де стовпець 1 міститиме повну URL-адресу до файла, а стовпець 2 містить ім’я, яке буде використано для перейменування?

Відповіді:


0

Ви також можете використовувати Завантажити акселератор Плюс (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


1

Або, використовуючи вікно 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

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


Дякую, але мені потрібно звернутися, наприклад. "419FD4E354AF7CA75D06" в "main.c" тощо, тому простий шаблон перейменування не буде робити.
OverTheRainbow

Я бачу. У такому випадку ви можете (наприклад) написати надзвичайно простий сценарій Perl. Існує два різних дистрибутива Perl на Windows. Це дозволить перервати файл відображення, а потім застосувати його до каталогу.
банді

Схоже, мені доведеться написати веб-сканер. Дякую.
OverTheRainbow

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
використовувати суворо;
використовувати попередження;
використовувати LWP :: Simple;

відкрити мій $ fh, '<', "filenames.txt" або померти "не можу прочитати filenames.txt, тому що $! \ n";
while () {
  my ($ url, $ newname) = розділити;
  getstore ($ url, $ newname);
}

(Неперевірений)

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.