zoukankan      html  css  js  c++  java
  • SharePoint 2010 PowerShell(4)使用PowerShell管理文档库

    使用PowerShell创建一个文档库

    文档库的操作和操作的列表是类似的,在这一章将会介绍如果创建一个文档库,上传一个文件到文档库中

    创建一个文档库,我们同样需要使用SPListCollection中的Add()方法,

    PS > $spWeb = Get-SPWeb -Identity http://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-ChildItem C:/Documents/MyDoc.docx

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

    当然我们也同时可以上传多个文档到SharePoint文档库中。

    PS > Get-ChildItem C:/Documents -filter “*.docx” | ForEach-Object {
    >> $spFileCollection.Add(“My Documents/$($_.Name)”,$_.OpenRead(),$true)
    >>}

     

  • 相关阅读:
    [Noip2016]天天爱跑步
    [ioi2008]Island 岛屿
    [Poi2012]Rendezvous
    RCTF2019 next_php
    WinSocket编程笔记(五)
    PTA的Python练习题(二十一)
    WinSocket编程笔记(四)
    PTA的Python练习题(二十)
    WinSocket编程笔记(三)
    WinSocket编程笔记(二)
  • 原文地址:https://www.cnblogs.com/yunliang1028/p/2136803.html
Copyright © 2011-2022 走看看