I need a Windows HTTP file downloader that can be batch feeded not only with file URLs, but also with their respective destination file paths. I think, this feeding may be done via command line, or txt file, or SendMessage.

In general, my problem is as follows:

There is a site that contains many MP3 links. They could be easily grabbed and downloaded by any other web downloader, if not for one thing: they are all named "song.mp3". And as the tags are mostly not written, the only way to name those files properly on disk is to parse the page using custom written Delphi program and to download them with custom file names.

Surely, I could write a program that parses and downloads the files as well, but I think it's too complicated a job for such a one time thing.

2 Answers 2


In the end, I had to go this way:

  • files are downloaded using DownThemAll (a FireFox plugin);
  • as all files have the same name, DownThemAll automatically appends suffixes to them (song1.mp3, song2.mp3 etc.);
  • I parse the site with custom written Delphi program, grab proper file names and URLs;
  • then I use these URLs to query file sizes on a server;
  • knowing file sizes, it's not a problem anymore to locate certain files and rename them properly.

In Powershell, you could use WebClient, like this:

$client = new-object System.Net.WebClient 
$client.DownloadFile("http://www.example.com/file.txt", "C:\tmp\file.txt")

Powershell is included in Windows Vista and up. Check this for an introduction to Powershell.

You could also use Wget for Windows.

  • Thanks for the answer. However, PowerShell is not an option as I really need a GUI that has download queue etc. I considered Wget but had to decline it after I haven't found any notion of it being able to accept URLs AND destination file names in batches.
    – Max Smith
    May 5, 2015 at 12:34

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.