5

We are looking to migrate all of the files in a SharePoint Site Collection to the local file system. This site collection has multiple sub sites and document libraries, which we would want to migrate them all to the file system.

What are the best methods for doing this?

5

Their are couple of ways to download the documents from SharePoint Document library.

  • Using the Explorer view, you can drag and drop the documents to local directory.
  • UNC mapping to the SharePoint document library and drag/drop documents to a file share. You could refer this blog for details. This is simplest way but it will not display files that exceed the list throttling. You have to connect to different views.

    If you have an Enterprise Portal site with the URL http://mysharepoint.com/Sites/EnterprisePortal

    Aaccess the document libraries in this site through windows explorer through the UNC path \mysharepoint\sites\enterpriseportal

  • Use the powershell script to donwload all documents from library with the same structures. below powershell you have to donwload from one library at once.

```

######################## Start Variables ########################
######################## Varun's Script######################
$destination = "C:\\tools\\Folder"
$webUrl = "<Url of the specific site>"
$listUrl = "<Url of the specific list. This url is complete Url and NOT relative url>"
##############################################################

$web = Get-SPWeb -Identity $webUrl
$list = $web.GetList($listUrl)

function ProcessFolder {
    param($folderUrl)
    $folder = $web.GetFolder($folderUrl)
    foreach ($file in $folder.Files) {
        #Ensure destination directory
        $destinationfolder = $destination + "/" + $folder.Url 
        if (!(Test-Path -path $destinationfolder))
        {
            $dest = New-Item $destinationfolder -type directory 
        }
        #Download file
        $binary = $file.OpenBinary()
        $stream = New-Object System.IO.FileStream($destinationfolder + "/" + $file.Name), Create
        $writer = New-Object System.IO.BinaryWriter($stream)
        $writer.write($binary)
        $writer.Close()
        }
}

#Download root files
ProcessFolder($list.RootFolder.Url)
#Download files in folders
foreach ($folder in $list.Folders) {
    ProcessFolder($folder.Url)
}

```

read the complete instruction about the script here: https://gallery.technet.microsoft.com/office/SharePoint-2010-files-from-11255dc2

Useful Resource: http://sharepointconnoisseur.blogspot.com/2012/03/options-to-export-sharepoint-2010-files.html

0

Try this codeplex solution or this one

They are applicatiosn that connect to the SharePoint content Database and extract the files. They aren't targeted at the 2013 version but should work with a few modifications.

These programs have the benefit of needing only the Content Database, as opposed to a working farm.

0

I can suggest DMS-Shuttle for SharePoint.This tool can download Document Libraries or the entire Site Collection to the file system per drag & drop. There is a 15 days Trial Version: http://dms-shuttle.com/downloads/. Disclaimer - I'm working for the Company.

-2

Here's a free open-source tool that can do that: https://github.com/GLubomirov/SP_Hauler/releases/tag/1.0

Greetings, George

  • 1
    While this may do what the OP asked. It is improper to simply post a link with no explanation of HOW. Further, you appear to be the author of the tool you reference and should state your association. – Jammin4CO Feb 13 '18 at 15:50

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.