Pergunta

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()
}
Foi útil?

Solução

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.

Outras dicas

Licenciado em: CC-BY-SA com atribuição
Não afiliado a sharepoint.stackexchange
scroll top