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)
    >>}

     

  • 相关阅读:
    /etc/sysctl.conf 控制内核相关配置文件
    python 并发编程 非阻塞IO模型
    python 并发编程 多路复用IO模型
    python 并发编程 异步IO模型
    python 并发编程 阻塞IO模型
    python 并发编程 基于gevent模块 协程池 实现并发的套接字通信
    python 并发编程 基于gevent模块实现并发的套接字通信
    python 并发编程 io模型 目录
    python 并发编程 socket 服务端 客户端 阻塞io行为
    python 并发编程 IO模型介绍
  • 原文地址:https://www.cnblogs.com/yunliang1028/p/2136803.html
Copyright © 2011-2022 走看看