Sharepoint 为文档库设置历史版本数 c#

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using Microsoft.SharePoint;
using Microsoft.SharePoint.Administration;
using System.IO;
using System.Web;
using System.Text.RegularExpressions;
using System.Data;
using System.Collections;

namespace ResetOneWebDocumentsLibraryVersionNum
{
    class Program
    {
        static void Main(string[] args)
        {
           
            string[] temp = System.IO.File.ReadAllLines("path.txt", System.Text.Encoding.UTF8);
            //System.Text.Encoding.GetEncoding("unicode"));

InitionFile();
           
            Console.WriteLine("Please input Version num which had been set:"); //对当前历史版本数设置超过多少的文档库进行重置
            String getVerNumString = Console.ReadLine();
            Int16 getVerNum = Convert.ToInt16(getVerNumString);
            Console.WriteLine("Please input Version num which will be used:");//输入重新设置文档库的历史版本值
            String resetVerNumString = Console.ReadLine();
            Int16 resetVerNum = Convert.ToInt16(resetVerNumString);

// Uri webAppUri = new Uri(weburl);
            // SPWebApplication webApplication = SPWebApplication.Lookup(webAppUri);

Console.WriteLine("WebURL\tDocumentUrl\tDocumentLibrary\tMajorVersionLimit\tMinorVersionsLimit");
            //writer.WriteLine("WebURL\tDocumentUrl\tDocumentLibrary\tMajorVersionLimit\tMinorVersionsLimit");
            foreach (string weburl in temp)
            {
            using (SPSite site = new SPSite(weburl))
            {
                using (SPWeb web = site.OpenWeb())
                {
            
                foreach (SPList list in web.Lists)
                {
                   
                    
                    if (list.EnableVersioning.ToString() == "True"  && list.BaseTemplate.ToString() == "DocumentLibrary" && list.Hidden.ToString() != "True" && list.EnableVersioning.ToString() == "True" && list.Title != "Site Collection Documents"  && list.Title != "Site Collection Images" && list.Title != "Style Library")
                        {
                            
                           if (list.MajorVersionLimit == 0 || list.MajorVersionLimit >= getVerNum || list.MajorWithMinorVersionsLimit >= getVerNum)
                            {
                                if ( list.MajorVersionLimit >= getVerNum) list.MajorVersionLimit = 20;

if (list.EnableMinorVersions.ToString() != "False" && list.MajorWithMinorVersionsLimit >= getVerNum) list.MajorWithMinorVersionsLimit = resetVerNum;
                                list.Update();
                                
                                Console.WriteLine(list.Title + "\t" + list.MajorVersionLimit + "\t" + list.MajorWithMinorVersionsLimit);

writer.WriteLine(list.ParentWebUrl.ToString() + "\t" + list.DefaultViewUrl + "\t" + list.Title + "\t" + list.MajorVersionLimit + "\t" + list.MajorWithMinorVersionsLimit);

}
                       
                        }
                     
                    
                }
            }
        }
        }

CloseFile();
           // Console.ReadKey();
        }

static StreamWriter writer;
        static void InitionFile()
        {
            writer = new StreamWriter("HistoryVer.txt", true);
        }
        static void CloseFile()
        {
            writer.Flush();
            writer.Close();
        }

static void WriteLine(string msg)
        {
            writer.WriteLine(msg);
        }
    }
}

时间: 2024-07-28 13:39:34

Sharepoint 为文档库设置历史版本数 c#的相关文章

上传文件到 Sharepoint 的文档库中和下载 Sharepoint 的文档库的文件到客户端

文件操作应用场景: 如果你的.NET项目是运行在SharePoint服务器上的,你可以直接使用SharePoint服务器端对象模型,用SPFileCollection.Add方法 http://msdn.microsoft.com/zh-cn/library/ms454491%28office.12%29.aspx 如果不在同一台机器上,并且你的SharePoint是2010,你可以使用.NET客户端对象模型,用FileCollection.Add方法 http://msdn.microsoft

SharePoint 2013 文档库中PPT转换PDF

原文:SharePoint 2013 文档库中PPT转换PDF 通过使用 PowerPoint Automation Services,可以从 PowerPoint 二进制文件格式 (.ppt) 和 PowerPoint Open XML 文件格式 (.pptx) 转换为其他格式.例如,您可能需要将一批 PowerPoint 97–2003 文件升级到 Open XML 演示文稿文件.您还可以在“编辑”菜单中创建自定义操作,以允许用户按需创建 PDF 版本的演示文稿. 一.效果演示: 1.新建一

sharepoint给文档库每个数据条添加权限

前言 老大任务,做一个读取文档库把里面的每一条数据添加权限.挺起来很简单,但是做起来,还是很简单,哈哈.因为我没有接触过这些代码,所以得不断的请教了.大题明白了,简单实现了一下,应用控制台先做了一下简单的功能,里面有写死的,但是完全可以写活. 代码部分 //读取网站集 SPSite site = new SPSite ("http://localhost"); SPWebApplication webApp = site.WebApplication; SPWeb web = site

SharePoint 2016文档库只能创建单一文件故障

在从SharePoint 2013升级到SharePoint 2016之后,我们其实在日常的工作使用中遇到了很多的小问题,从今天开始,我就把之前遇到的一些问题一一和大家进行一个分享, 使得大家今后在遇到类似问题的情况之下,少走弯路. 当然了,我的这些解决办法也不一定是最优的办法,也可能大家有更好的办法,我这里依然抱砖引玉,希望大家踊跃讨论,谢谢! 好了,我的前几篇博客写了如何来给SharePoint 2016 配置 Office Web App Server, 来使得通过我们的SharePoin

SharePoint:使用Indexed Column提高SharePoint 大型文档库或列表访问

越来越多的企业级用户都采用SharePoint on premise Server或者SharePoint Online作为企业数据管理和各team间协同办公平台,但伴随着企业蒸蒸日上地发展,各种类型的数据存储也会越来越多,若SharePoint管理员或者用户参照微软官方文章陈述的信息:在文档库或者列表中支持存储3 Million items/Documents,并未对大档案库或者列表提前有长远规划时,那么end users在日后使用上就会面临如下2个困境: ? End users 很难在众多I

如何关闭SharePoint指定文档库的搜索功能

原文地址:https://blog.51cto.com/sampsondotqiu/2459394

在SharePoint 2013 中使用文档库Scheduling (计划发布功能)

本文讲述在SharePoint2013 中使用文档库Scheduling (计划发布功能)的步骤和注意的事项. 文档库Scheduling (计划发布功能) 用于设定当文档通过审批后特定的时间区间内才可以被普通用(非管理员,审批人员和作者)户看到.也就是说要启用Scheduling,必须先启用文档库的内容审批和小版本控制.这是官方文档的说法,但是笔者注意到除此之外Draft Item Security要设置成Only users who can approveitems (and the aut

在SharePoint 2013 中使用文档库Scheduling (计划公布功能)

本文讲述在SharePoint2013 中使用文档库Scheduling (计划公布功能)的步骤和注意的事项. 文档库Scheduling (计划公布功能) 用于设定当文档通过审批后特定的时间区间内才干够被普通用(非管理员,审批人员和作者)户看到.也就是说要启用Scheduling,必须先启用文档库的内容审批和小版本号控制.这是官方文档的说法,可是笔者注意到除此之外Draft Item Security要设置成Only users who can approveitems (and the au

sharepoint 2013 获取文档库文件夹树形结构

sharepoint 2013 获取文档库文件夹树形结构 分类: sharepoint2013-07-15 06:40 5816人阅读 评论(0) 收藏 举报 在做sharepoint 2013或者sharepoint 2010文档库的过程中,经常会建很多的文件夹,不同类别存储不同文件,相当于文档的分类,这里主要是记录一下,将文档库的文件夹结构,绑定到treeview. protected  void  Page_Load(object sender,EventArgse) { if(!Page