2012-05-02 4 views
1

Есть ли способ определить, какие файлы хранятся в моей коллекции сайтов, которые являются самыми большими? Я хотел бы как-то идентифицировать их, а затем удалить их, чтобы освободить место.Определение самых больших файлов в коллекции сайтов Windows Sharepoint Services

Спасибо за любые идеи.

ответ

0

Вы можете использовать site data query, чтобы найти все документы, которые больше, чем определенный размер:

SPWeb web = SPContext.Current.Web; 
SPSiteDataQuery query = new SPSiteDataQuery(); 
// restrict to document libraries 
query.Lists = "<Lists ServerTemplate=\"101\" />"; 
query.ViewFields = "<FieldRef Name=\"File_x0020_Size\" />";  
query.RowLimit = 20; 
query.Query = "<Where><Geq><FieldRef Name=\"File_x0020_Size\" /><Value Type=\"Number\">{size in bytes}</Value></Geq></Where><OrderBy><FieldRef Name=\"File_x0020_Size\" Ascending=\"FALSE\" /></OrderBy>"; 

DataTable bigFiles = web.GetSiteData(query); 

запросов в читаемый:

<Where> 
    <Geq> 
    <FieldRef Name="File_x0020_Size" /> 
    <Value Type="Number">{size in bytes}</Value> 
    </Geq> 
</Where> 
<OrderBy> 
    <FieldRef Name="File_x0020_Size" Ascending="FALSE" /> 
</OrderBy> 
0

Вы должны использовать SharePoint API и перебирать все элементы во всех списках на всех сайтах семейства сайтов.