Copy attachments from list to another list
-
05-02-2021 - |
سؤال
In this script, i want to to copy an item from list to another list. This item contain an attachments. How i can add the attachments to my code
$web = Get-SPWeb http://intranet/sales/
$listSales = $web.Lists["Sales Projects"]
$Prospect = Get-SPWeb http://intranet/CAC/
$listProspect = $Prospect.Lists["Clients"]
foreach ($item in $listSales.Items | Where {$_["Status"] -eq "Confirmed" -and $_["isDone"] -eq $null}) {
Write-Host $item.Title
$newItem = $listProspect.Items.Add();
$newItem["Client's Name"] = $item["Client Name"]
$newItem["Initiator"] = $item["Initiator"]
$newItem.Update()
$item["isDone"]="Done"
$item.Update()
}
المحلول
You can do it with following code:
foreach ($AttachName in $item.Attachments)
{
$spFile = $item.ParentList.ParentWeb.GetFile($item.Attachments.UrlPrefix + $AttachName);
$newItem.Attachments.Add($AttachName, $spFile.OpenBinary());
}
Put that code after this line: $newItem["Initiator"] = $item["Initiator"]
and it should be fine.
نصائح أخرى
Take a look at this article here:
I may recommend you to try use SharePoint Migration tool from Microsoft for this migrations it's free.
لا تنتمي إلى sharepoint.stackexchange