/build/static/layout/Breadcrumb_cap_w.png

Ms Ebook Download one go

Microsoft has recently released FREE MICROSOFT EBOOK GIVEAWAY extravaganza! And this time MORE FREE EBOOKS. If you are people like me want to download all pdf documents in one shot go

Here you have PowerShell script which will download all the pdf files (246) in a desktop folder.

 


Here is the script

$url = "https://blogs.msdn.microsoft.com/mssmallbiz/2017/07/11/largest-free-microsoft-ebook-giveaway-im-giving-away-millions-of-free-microsoft-ebooks-again-including-windows-10-office-365-office-2016-power-bi-azure-windows-8-1-office-2013-sharepo/"

$r1= Invoke-WebRequest -Uri $url

$DesktopPath = [Environment]::GetFolderPath("Desktop")

$path =$DesktopPath+"\PDFDownloads"

If(!(test-path $path))

{

    New-Item -ItemType Directory -Force -Path $path

}

$regex = '([a-zA-Z]{3,})://([\w-]+\.)+([\w-]+(/[\w- ./?%&=]*)*?)+[a-z0-9.\-]'

$r1.ParsedHtml.getElementsByTagName('td')  | Where-Object -Property innerText -Match 'PDF'  | select-object -ExpandProperty innerHTML |Out-File $path\innerhtml.txt

 

$files=select-string -path $path\innerhtml.txt -Pattern $regex -AllMatches | % { $_.Matches } |% { $_.Value }

ForEach ($file in $files) {

 

    $request = Invoke-WebRequest -Uri $file -MaximumRedirection 0 -ErrorAction Ignore

    $FileName = $request.Headers.Location

if ($FileName -match '.pdf'){

    $output =  $FileName.SubString($FileName.LastIndexOf('/') + 1)

    Invoke-WebRequest -Uri $FileName -OutFile $path\$output

 

}

 

}

 

If (Test-Path $path\innerhtml.txt){

              Remove-Item $path\innerhtml.txt

}

Script posted in Technet as well 


Comments

This post is locked
 
This website uses cookies. By continuing to use this site and/or clicking the "Accept" button you are providing consent Quest Software and its affiliates do NOT sell the Personal Data you provide to us either when you register on our websites or when you do business with us. For more information about our Privacy Policy and our data protection efforts, please visit GDPR-HQ