sharepoint cmdlet(4)文檔庫管理

使用PowerShell創建一個文檔庫

文檔庫的操作和操作的列表是類似的,在這一章將會介紹如果創建一個文檔庫,上傳一個文件到文檔庫中

創建一個文檔庫,我們同樣需要使用SPListCollection中的Add()方法,

PS>$spWeb=Get-SPWeb-Identityhttp://SPServer
PS>$listTemplate=[Microsoft.SharePoint.SPListTemplateType]::DocumentLibrary
PS>$spWeb.Lists.Add("My Documents","My Doc Library",$listTemplate)

使用PowerShell更新一個文檔庫

我們可以通過GetList()方法查詢到我們需要的文檔庫,

PS>$spDocumentLibrary=$spWeb.GetList("My Documents")

下面我們來修改這個文檔庫的一些屬性信息,比如文檔庫的說明和是否在快速啓動中顯示。

PS>$spDocumentLibrary.Description=“Description”

PS>$spDocumentLibrary.OnQuickLaunch= "True"

PS>$spDocumentLibrary.Update()

SharePoint文檔庫中可能會存在文件夾,使用文件夾可以更有效的管理文檔庫中的文件。如果我們要在文檔庫中創建文件夾,可以使用AddItem方法,就像我們在列表中創建一個列表項目一樣。但不同的是我們需要重載另外一個AddItem方法,也就是說我們需要在方法中添加 Microsoft.SharePoint.SPFileSystemObjectType,來聲明我們添加的是一個文件或者是一個文件夾。

PS>$spFolder=$spDocumentLibrary.AddItem(
>> "",[Microsoft.SharePoint.SPFileSystemObjectType]::Folder,"My New Folder"
>>)
PS>$spFolder.Update()

使用PowerShell上傳一個文件到文檔庫

上傳文件到文檔庫中,我們需要使用Microsoft.SharePoint.SPFlieCollection類中的Add方法,這個類表示一個文件的集合。

在我們獲取文件集合之前,還需要通過Microsoft.SharePoint.SPWeb類中的GetFolder()方法返回的Microsoft.SharePoint.SPFolder,我們要這個類型初始化一個對象變量。

PS>$spFolder=$spWeb.GetFolder("My Documents")

此時我們就可以向這個文件集合中添加文件了。

 

PS>$spFileCollection=$spFolder.Files

Microsoft.SharePoint.SPFileCollection類中提供了一個Add方法,用來向文件集合中添加一個文件,這是一個非常通用的方法,有21種重載的定義。我們將會應用的其中一種,我們需要一個文件的絕對地址,文件字節數組,還有一個Bool類型的值,表示在有同名文件時,是否要覆蓋。

我們需要先使用Get-ChildItem方法類獲取到文件。然後可以通過使用System.IO.FileStream類中提供的放法OpenRead(),來獲取文件的字節數組。

PS>$file=Get-ChildItemC:/Documents/MyDoc.docx

PS>$spFileCollection.Add("My Documents/MyDoc.docx",$file.OpenRead(),$false)

當然我們也同時可以上傳多個文檔到SharePoint文檔庫中。

PS>Get-ChildItemC:/Documents-filter“*.docx”|ForEach-Object{
>>$spFileCollection.Add(“MyDocuments/$($_.Name)”,$_.OpenRead(),$true)
>>}
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章