в общем я тут сварганил наколеночный скрипт для выкачивания всего этого безобразия:
$RedirectStatusCodes=301,302,303,307
$WorkingDir="D:\Distrib\Docs\MSFT\"
gc (Join-Path $WorkingDir "MSFTFreeEbooks.txt")|%{
$URL=$_
$Request = Invoke-WebRequest -Uri $URL -ErrorAction Ignore -MaximumRedirection 0 -Method Head
$Request.Headers.Location
$FileName="Noname.pdf"
if ($RedirectStatusCodes -contains $Request.StatusCode) {
$URL=$Request.Headers.Location
$FileName=Split-Path $URL -Leaf
$FileName
}
Invoke-WebRequest -Uri $URL -ErrorAction Ignore -MaximumRedirection 0 -OutFile (Join-Path $WorkingDir $FileName)
}
MSFTFreeEbooks.txt - файл, содержащий вышезапиленный список URL'ов
D:\Distrib\Docs\MSFT\ - папка, в которой лежит этот файл, и в которую будут закачиваться книжки.
по некоторым URL'ам красиво зачать не получится из-за
вот этого, а по некоторым другим потому, что я поленился.
Большая часть выкачивается без ошибок и с внятным (насколько это возможно) названием складывается в папочку