sharepoint 2007 统计站点文档库大小(list大小可以忽略时可以当作站点大小)

29 篇文章 0 订阅

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;


namespace GetAllWebsSize_documents
{
    class Program
    {
        static void Main(string[] args)
        {
            Console.WriteLine("This tool is designed for find the size of each website and site in all Site collection.");

            InitionFile();
            Console.WriteLine("Please input the web url:");
            String weburl = Console.ReadLine();
           
            Uri webAppUri = new Uri(weburl);
            SPWebApplication webApplication = SPWebApplication.Lookup(webAppUri);

            Console.WriteLine("Title\tSize(MB)\tLastModifiedTime\tWebUrl");
            writer.WriteLine("Title\tSize(MB)\tLastModifiedTime\tWebUrl");
           
           
            foreach (SPSite site in webApplication.Sites)
            {

                DataTable oDtRawData = null;
                oDtRawData = site.StorageManagementInformation(SPSite.StorageManagementInformationType.DocumentLibrary, SPSite.StorageManagementSortOrder.Decreasing, SPSite.StorageManagementSortedOn.Size, 0);
               /*   /// if you wan to see column names, loop through all the columns and find out the names and grab the needed one.
                foreach (DataColumn oColumn in oDtRawData.Columns)
                        {
                             Console.WriteLine(oColumn.ColumnName);               
                          }
               
                */
                   
                foreach (SPWeb web in site.AllWebs)
                {
                    Int64 sizes = 0;

                    foreach (DataRow oRow in oDtRawData.Rows)
                    {

                       
                        string oRowWebGuid = oRow["WebGuid"].ToString().ToLower();
                        string webId= "{"+web.ID.ToString()+"}";
                      

                        if (oRowWebGuid == webId)
                        {
                            string size1 = oRow["Size"].ToString();
                            Int64 size = Convert.ToInt64(size1);
                           // Console.WriteLine("Processing......" + oRowWebGuid + "......" + webId);
                           
                            sizes = sizes + size;
                           // writer.WriteLine(oRow["LeafName"].ToString() + "\t" + size + "\t" + oRow["WebUrl"].ToString());                       

                        }
                       
                    }
                   
                    Console.WriteLine(web.Title + "\t" + Math.Round(sizes / 1024.0f / 1024.0f, 2) + "\t" + web.LastItemModifiedDate + "\t" + web.Url);
                    writer.WriteLine(web.Title + "\t" + Math.Round(sizes / 1024.0f / 1024.0f, 2) + "\t" + web.LastItemModifiedDate + "\t" + web.Url);


                }

               
                }

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

            }

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

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

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值