sharepoint - 将文件上传到 Sharepoint 列表项

标签 sharepoint powershell sharepoint-2010

我有一个自定义的共享点列表,其中有一个包含服务器名称的标题列,我有很多与标题同名的 .csv 文件

是否可以通过脚本将 em 作为附件上传到列表项?也许是Powershell? 我有 100 多个文件,所以如果我必须手动完成所有操作会很痛苦。

文件和标题列如下所示:

Title
Server1.domain.com

.csv
Server1.domain.com.csv

找了半天还是没找到可以用的东西

最佳答案

方法:

  1. 遍历 SharePoint 列表项。
  2. 通过SPListItem.Title加载对应的CSV文件
  3. 将文件作为附件添加到 SPListItem

脚本:

$w = Get-SPWeb http://List/Location/Url
$l = $w.Lists["TheList"]

foreach ($item in $l.Items)
{
     $file = Get-Item "$($item.Title).csv"
     $stream = $file.OpenRead()
     $buffer = New-Object byte[] $stream.length
     [void]$stream.Read($buffer, 0, $stream.Length)

     $item.Attachments.AddNow($file.Name, $buffer)
}

注意事项:

  1. 处理文件流
  2. 处理 SPWeb 对象
  3. 处理丢失的文件

编辑

第一次尝试的两个错误:

  1. SPAttachmentCollection.Add 需要一个字节数组。
  2. SPAttachmentCollection.AddNow 应该用于直接添加附件(无需更新 SPListItem)

更新了代码...

关于sharepoint - 将文件上传到 Sharepoint 列表项,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8428821/

相关文章:

javascript - 整数输入之和 javascript

c# - 如何从 ASP.NET/Silverlight 开发人员成为 Sharepoint 开发人员?

windows - 删除 powershell 中的子目录,包括符号链接(symbolic link)

regex - powershell "ParseExact" "3"参数 : "String was not recognized as a valid DateTime

c# - Sharepoint 2010如何获取网站集搜索结果页?

sharepoint - 在 SP2010 中部署基于自定义布局的页面

javascript - 共享点 2010 : custom column with javascript

java - 通过 REST 查询 SharePoint Online 术语库

带有 SharePoint 参数的 VB.Net 命令行(控制台)程序

PowerShell 尝试/捕获/最后