Here. Automation FTW.
$file = "U:\My Documents\PowerShell\download.xlsx"
$sheetName = "Sheet1"
$rowURL,$colURL = 1,6
Import-Module BitsTransfer
$objExcel = New-Object -ComObject Excel.Application
$workbook = $objExcel.Workbooks.Open($file)
$sheet = $workbook.Worksheets.Item($sheetName)
$objExcel.Visible=$false
$rowMax = ($sheet.UsedRange.Rows).count
for ($i=0; $i -le $rowMax-1; $i++)
{
$imgURL = $sheet.Cells.Item($rowURL+$i,$colURL).text
Start-BitsTransfer -Source $imgURL
}
$objExcel.quit()
Copy this into Notepad. Change $file to be the absolute pathname to your spreadsheet, and $sheetName if your worksheet name is anything other than the default.
$rowURL and $colURL are the start point of the list. In my example you’ve got 1,6 which is the first row in column F. If your data was in column D and you had column headings, this would need changing to be 2,4.
Now save it with a .ps1 extension. (You need to change the “Save as type” dropdown to “all files” first, or you’ll end up with download.ps1.txt.)
Double-click it, and it’ll suck the data straight out of Excel and download all your files, no copying and pasting required. I haven’t specified a destination, so it will download to wherever you launch it from.
EDIT: you’ll probably need to configure PowerShell to run unsigned code first. Enter
Set-ExecutionPolicy RemoteSigned -Scope CurrentUser
into a PS prompt.