有没有办法从Sharepoint站点下载最后修改的文件?

时间:2014-06-03 12:54:11

标签: powershell sharepoint

我能够从Sharepoint网站成功下载文件,但问题是文件名不一样。我想在下面的脚本中做的是按上次修改时间修改列表并下载最新的列表。

这是我到现在为止的代码

$source = "https://one.mysite.com/FileName.csv"
$destination = ".\NewFileName.csv"
$webclient = new-object System.Net.WebClient
$webclient.credentials= new-object
System.Net.NetworkCredential("MyIDToAccessSource","Password", 
"MyDomain")
$webclient.DownloadFile($source, $destination)

我相信Get-ChildItem仅适用于驱动器。

感谢您的帮助 窗扇

1 个答案:

答案 0 :(得分:0)

使用SharePoint API,您可以构建从库中返回最新修改的列表项(文件)的查询。

以下示例演示了如何使用PS中的CSOM API获取最新修改的列表项:

Function GetLastModified-ListItem(){

Param(
[Parameter(Mandatory=$True)]
[Microsoft.SharePoint.Client.Web]$Web,

[Parameter(Mandatory=$True)]
[String]$ListTitle

)

   $list = $Web.Lists.GetByTitle($ListTitle)
   $query = New-Object Microsoft.SharePoint.Client.CamlQuery
   $query.ViewXml = '<View><Query><OrderBy><FieldRef Name="Modified" Ascending="FALSE"/></OrderBy></Query><RowLimit>1</RowLimit></View>'
   $items = $list.GetItems($query)
   $Web.Context.Load($items)
   $Web.Context.ExecuteQuery()
   return $items[0]
}
  

取决于SharePoint版本,SharePoint Client Components SDK   必须安装才能使用CSOM API,这里是the link   for SharePoint 2013

用法

$item = GetLastModified-ListItem -Web $ctx.Web -ListTitle "Documents"
$fileToDownloadUrl = $webUrl + $item["FileRef"]