Quantcast
Channel: SharePoint Diary
Viewing all articles
Browse latest Browse all 1058

Download All Attachments from SharePoint List Items using PowerShell

$
0
0
Requirement is to Download all attachments from a SharePoint list to local folder. Lets use PowerShell to download attachments in SharePoint list items using PowerShell.

PowerShell script to download all attachments from a SharePoint list:
[void][System.Reflection.Assembly]::LoadWithPartialName("Microsoft.SharePoint")
#For MOSS 2007 compatibility
Function global:Get-SPWeb($url)
{
$site= New-Object Microsoft.SharePoint.SPSite($url)
if($site -ne $null)
{
$web=$site.OpenWeb()
}
return $web
}

#Site URL and List Name variables
$WebURL = "http://intranet.crescent.com/sites/purchase"
$LibraryName = "Invoinces"

#Local folder to which attachments to be downloaded
$DownloadPath = "C:\Docs"

#Get the web
$Web = Get-SPWeb $WebURL
#Get the Library
$List = $Web.Lists[$LibraryName]

#Loop through each List item
foreach ($ListItem in $List.Items)
{
#Set path to save attachment
$DestinationFolder = $DownloadPath + "\" + $ListItem.ID

#Check if folder exists already. If not, create the folder
if (!(Test-Path -path $DestinationFolder))
{
New-Item $DestinationFolder -type directory
}

#Get all attachments
$AttachmentsColl = $ListItem.Attachments

#Loop through each attachment
foreach ($Attachment in $AttachmentsColl)
{
#Get the attachment File
$file = $web.GetFile($listItem.Attachments.UrlPrefix + $Attachment)
$bytes = $file.OpenBinary()

#Save the attachment as a file
$FilePath = $DestinationFolder + " \" + $Attachment
$fs = new-object System.IO.FileStream($FilePath, "OpenOrCreate")
$fs.Write($bytes, 0 , $bytes.Length)
$fs.Close()
}
}

Viewing all articles
Browse latest Browse all 1058

Trending Articles



<script src="https://jsc.adskeeper.com/r/s/rssing.com.1596347.js" async> </script>