sharepoint 2007 获取特定folder下文件的数量

本文介绍了一段使用C#编程语言编写的代码,用于读取SharePoint网站上的所有文件,并统计每个文件夹下的文件数量,然后将统计结果写入到本地文本文件中。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

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

namespace getFileNum
{
    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();
            foreach (string weburl in temp)
            {
                using (SPSite site = new SPSite(weburl))
                {
                    using (SPWeb web = site.OpenWeb())
                    {
                        SPList list = web.GetListFromUrl(weburl);
                        string folderString = null;
                        if (weburl.Contains("&"))
                        {
                            folderString = Regex.Match(weburl, "RootFolder=.+?&").Value;
                        }
                        else
                        {
                            folderString = Regex.Match(weburl, "RootFolder=.+").Value;
                        }
                        //Console.WriteLine("{0}", folderString);

                        if (folderString == null)
                        {
                            folderString = weburl;

                        }
                        else
                        {
                            folderString = folderString.Replace("RootFolder=", "");
                            if (folderString.Contains("&"))
                            {
                                folderString = folderString.Replace("&", "");
                            }

                        }

                        SPFolder folder = web.GetFolder(folderString);
                        SPQuery query = new SPQuery();
                        query.Folder = folder;
                      //  query.ViewAttributes = "Scope=\"RecursiveAll\"";//get files and folders
                        query.ViewAttributes = "Scope=\"Recursive\""; //only get all files
                        query.Query = "<Query />";
                        SPListItemCollection items = list.GetItems(query);

                        Console.WriteLine( folder.Name  + "\t" + items.Count);
                        writer.WriteLine( folder.Name  + "\t" + items.Count);

 

                    }
                }
            }
            CloseFile();

       


        }

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

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

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值