I saw a lot of people mention the Eric Ligman, Microsoft Director of Sales Excellence Blog a while ago: FREE! That’s Right, I’m Giving Away MILLIONS of FREE Microsoft eBooks again! Including: Windows 10, Office 365, Office 2016, Power BI, Azure, Windows 8.1, Office 2013, SharePoint 2016, SharePoint 2013, Dynamics CRM, PowerShell, Exchange Server, System Center, Cloud, SQL Server and more! | Microsoft Director of Sales Excellence – Eric Ligman
Even though I make most of my income from the Microsoft World, my main machine is a Mac and I dislike browsing
So I wanted to download them all in one easy go so SpotLight could index them.
Luckily there is a file that has all the download URLs in it: http://ligman.me/29zpthb (it expands to http://www.mssmallbiz.com/ericligman/Key_Shorts/MSFTFreeEbooks.txt and is archived at http://web.archive.org/web/*/http://www.mssmallbiz.com/ericligman/Key_Shorts/MSFTFreeEbooks.txt).
The file is mentioned at How to “Download All” of the FREE eBooks and Resources in My FREE eBooks Giveaway | Microsoft Director of Sales Excellence – Eric Ligman.
It’s very easy to download from there using wget (on Windows get it from https://eternallybored.org/misc/wget/ – the x64 versions work fine).
Be sure to use a “recent” version as 1.12 and lower have no support for the
--trust-server-names parameter which makes wget use filenames from the http 301 followed links:
If this is set to on, on a redirect the last component of the redirection URL will be used as the local file name. By default it is used the last component in the original URL.
This is the script:
wget -m -np --trust-server-names http://ligman.me/29zpthb
wget -m -np --trust-server-names --input-file http://www.mssmallbiz.com/ericligman/Key_Shorts/MSFTFreeEbooks.txt
You might think why not do just
wget -m -np --trust-server-names --input-file http://ligman.me/29zpthb in one go?
Simple answer: like all software, wget occasionally crashes somewhere in the middle of downloading the URLs embedded.
If you restart, then it sees the followed http://ligman.me/29zpthb file has already been downloaded and won’t re-scan its contents.
Bug? I’m not sure. But the two-liner just works.
PS: if you want a script with all the URLs, try these: