Question

I'd like to know if there are any alternatives for downloading multiple documents or files at once. Mostly an end-user friendly method.

  1. OneDrive for Business is excluded
  2. I already make use of the SharePoint app; "Download multiple documents".

Please, kindly share your insight or knowledge on this matter.

Was it helpful?

Solution

A couple of alternatives are you could download the documents using PowerShell

#################### Parameters ###########################################
$webUrl = "https://YOURTENANTURL/";
$listUrl = "Shared%20Documents";
$destination = "C:\\Temp"
###########################################################################

Connect-PnPOnline -Url $webUrl
$web = Get-PnPWeb
$list = Get-PNPList -Identity $listUrl

function ProcessFolder($folderUrl, $destinationFolder) {

    $folder = Get-PnPFolder -RelativeUrl $folderUrl
    $tempfiles = Get-PnPProperty -ClientObject $folder -Property Files

    if (!(Test-Path -path $destinationfolder)) {
        $dest = New-Item $destinationfolder -type directory 
    }

    $total = $folder.Files.Count
    For ($i = 0; $i -lt $total; $i++) {
        $file = $folder.Files[$i]

        Get-PnPFile -ServerRelativeUrl $file.ServerRelativeUrl -Path $destinationfolder -FileName $file.Name -AsFile
    }
}

function ProcessSubFolders($folders, $currentPath) {
    foreach ($folder in $folders) {
        $tempurls = Get-PnPProperty -ClientObject $folder -Property ServerRelativeUrl    
        #Avoid Forms folders
        if ($folder.Name -ne "Forms") {
            $targetFolder = $currentPath +"\"+ $folder.Name;
            ProcessFolder $folder.ServerRelativeUrl.Substring($web.ServerRelativeUrl.Length) $targetFolder 
            $tempfolders = Get-PnPProperty -ClientObject $folder -Property Folders
            ProcessSubFolders $tempfolders $targetFolder
        }
    }
}

#Download root files
ProcessFolder $listUrl $destination + "\" 
#Download files in folders
$tempfolders = Get-PnPProperty -ClientObject $list.RootFolder -Property Folders
ProcessSubFolders $tempfolders $destination + "\"

Or you could use Open with Explorer in Internet Explorer to drag them into a windows folder

enter image description here

Do you need to extract the meta data as well or is that not required?

Licensed under: CC-BY-SA with attribution
Not affiliated with sharepoint.stackexchange
scroll top