I was recently working on a project requirement to download all the content of a document library to a file share. Those files then will be resembled, watermarked, and uploaded to another release control system.
Here are the detailed requirements.
- Only current version of documents need to be downloaded
- There are more than 5000 documents need to be downloaded and list throttling is 2000
- Document types could be any type
- Documents need to be downloaded into one flat folder
Since this is just one time request, by looking at different options, we plan to use the simplest method. Here are the options you may try form your end.
1. 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/Sites/EnterprisePortal
- Aaccess the document libraries in this site through windows explorer through the UNC path \\mysharepoint\sites\enterpriseportal
2. SharePoint explore view that is same as UNC mapping. Please note this is just available to the document lists.
- In any Documents, from the Actions menu, click Open with Windows Explorer.
- In Windows Explorer, select the documents you want to export.
- Under File and Folder Tasks, click Copy to.
- In the Copy To window that Popups, select a target folder out of moss, then click the Copy button.
3. Powershell to download files. This case, you have to be on the SharePoint server to do this that is the major limitation.
4. Programmaticallythrough API. Same as Powershell, you have to be on the SharePoint server to do this unless you change to use SharePoint client object model. You could overwrite the list throttling setting in the code. There are several APIs you could use.
- Object model
- Client object model
- LINQ
- CAML (No option to overwrite list throttling setting)
5. Third part tools such as Bamboo bulk export or CodePlex tool. Bamboo toll is not free and we do not have good experience on their products. CodePlex tool is based on version 2007 and you may not use it for 2010.
6. Perl to SharePoint through web service. In our company, we have provided the custom web service to upload or download files from any library. We could use Perl to download the files to a file share.
Based on your requirement, you could select any method. Keep in mind that you may run into list throttling issue. One suggestion is if this is one time action, you might just increase the list throttling temporally during the execution time. Then revert back the list throttling setting after it is done.