用于下载并重命名一堆文件的实用程序?

用于下载并重命名一堆文件的实用程序?

这个 Bash 脚本只下载几个文件就可以了,但我需要下载一百多个文件。可视化WGet能够下载文件,但无法重命名它们。

是否有人知道一个 Windows 实用程序,它可以采用两列文本列表,其中第 1 列包含文件的完整 URL,第 2 列包含用于重命名的名称?

答案1

您还可以使用 Download Accelerator Plus (DAP) 进行下载和重命名。

您只需创建一个 DAP 列表,将其导入应用程序,选择要保存文件的文件夹,然后让它完成工作。

要创建 DAP 列表,只需打开文本编辑器并针对要下载的每个文件输入以下内容:

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

将 FILENAME.EXT 替换为您想要的文件名(不要忘记文件扩展名)。只需使用 MS Excel 合并代码,然后将其复制粘贴到文本文件并将其保存为 XXX.DAP 文件。这是一个示例电子表格:http://ge.tt/6sO1B2g

答案2

或者,使用 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

答案3

你可以尝试一下 Firefox 扩展全部击倒!。它可以从一个页面下载多个链接,您可以过滤下载列表并应用重命名模式。

答案4

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" 或 die "无法读取 filenames.txt 因为 $!\n";
尽管 () {
  我的($url,$newname)=拆分;
  获取商店($url,$newname);
}

(未经测试)

相关内容