Полный исходный код для выполнения этой задачи:
string
storeLocation = "C:\\dump",
fileName = "",
baseURL = "http://download.geonames.org/export/dump/";
WebClient r = new WebClient();
string content = r.DownloadString(baseURL);
foreach (Match m in Regex.Matches(content, "<a href=\\\"[^\\.]+\\.zip\">"))
{
fileName = Regex.Match(m.Value, "\\w+\\.zip").Value;
r.DownloadFile(baseURL + fileName, Path.Combine(storeLocation, fileName));
}