A ton of current microsoft books are now free for download.. totally legal..
You can download these one at a time. However, here is a way to dump all the books at once. You must have powershell v3 to do this..
1. http://ligman.me/W3TuLr and select SAVE LINK AS or SAVE TARGET AS... Then save it as a TXT file named MSFTEbooks.txt
2. Copy this text into a ps1 file (use notepad and save as ps1.). This is power shell file. You need to edit it reflect the location of the MSFTEbooks.txt file you just created and a location for the ebooks to be downloaded to..
3. Right click on ps1 file and select RUN WITH POWERSHELL...
4. Sit back and enjoy the loooooooong ride..
You can download these one at a time. However, here is a way to dump all the books at once. You must have powershell v3 to do this..
1. http://ligman.me/W3TuLr and select SAVE LINK AS or SAVE TARGET AS... Then save it as a TXT file named MSFTEbooks.txt
2. Copy this text into a ps1 file (use notepad and save as ps1.). This is power shell file. You need to edit it reflect the location of the MSFTEbooks.txt file you just created and a location for the ebooks to be downloaded to..
# here is a Powershell script ( requires v3 or later) so you don't need 3rd party tools.
#
# Modify to point to your txt and dest directory.
$booklist = Get-Content "C:\Scripts\MSFTEbooks.txt"
$destination = "C:\eBooks\"
foreach ($url in $booklist){
if ($url.StartsWith("http")){
$result = Invoke-WebRequest -Uri $url -outfile $destination\temp.tmp -PassThru
if ($result.statuscode -eq "200"){
$filename = join-path $destination (Split-Path -leaf ($result.BaseResponse.ResponseUri))
Write-Host $filename
Rename-Item $destination\temp.tmp $filename
}
}
}
#
# Modify to point to your txt and dest directory.
$booklist = Get-Content "C:\Scripts\MSFTEbooks.txt"
$destination = "C:\eBooks\"
foreach ($url in $booklist){
if ($url.StartsWith("http")){
$result = Invoke-WebRequest -Uri $url -outfile $destination\temp.tmp -PassThru
if ($result.statuscode -eq "200"){
$filename = join-path $destination (Split-Path -leaf ($result.BaseResponse.ResponseUri))
Write-Host $filename
Rename-Item $destination\temp.tmp $filename
}
}
}
4. Sit back and enjoy the loooooooong ride..
Comment