Share via


SPFolder class

Representa uma pasta em um site do SharePoint.

Inheritance hierarchy

System.Object
  Microsoft.SharePoint.SPFolder

Namespace:  Microsoft.SharePoint
Assembly:  Microsoft.SharePoint (in Microsoft.SharePoint.dll)

Syntax

'Declaração
Public Class SPFolder
'Uso
Dim instance As SPFolder
public class SPFolder

Comentários

Use a propriedade Folders da classe SPWeb ou a propriedade SubFolders da classe SPFolder para retornar um objeto SPFolderCollection que representa a coleção de pastas de um site ou uma pasta. Use um indexador para retornar uma única pasta de coleção. Por exemplo, se a coleção for atribuída a uma variável chamada collFolders, use collFolders[index] em C# ou deindexde collFolders() no Visual Basic, onde index é o número de índice da pasta da coleção ou o nome de exibição da pasta.

Examples

O exemplo de código a seguir exibe informações sobre as pastas em um site e todos os respectivos subsites, incluindo o nome do site, o nome da pasta, o número de arquivos na pasta e o tamanho total dos arquivos.

Este exemplo requer diretivas de using (Imports no Visual Basic) para os namespaces Microsoft.SharePoint e Microsoft.SharePoint.Utilities .

O exemplo também requer uma página. aspx predefinidas que contém um controle label.

Dim siteCollection As SPSite = SPControl.GetContextSite(Context)
Dim sites As SPWebCollection = siteCollection.AllWebs
Dim site As SPWeb

For Each site In  sites

    Dim folders As SPFolderCollection = site.Folders
    Dim folder As SPFolder

    For Each folder In  folders

        Dim files As SPFileCollection = folder.Files
        Dim totalFileSize As Long = 0
        Dim i As Integer

        For i = 0 To files.Count - 1
            totalFileSize += files(i).Length
        Next i

        Label1.Text += " Web: " & SPEncode.HtmlEncode(site.Name) 
            & " Folder: " _
            & SPEncode.HtmlEncode(folder.Name) & " Number: " 
                & folder.Files.Count _
            & " Size: " & totalFileSize & "<BR>"

    Next folder

Next site
SPSite oSiteCollection = SPContext.Current.Site;
SPWebCollection collWebsites = oSiteCollection.AllWebs;
foreach (SPWeb oWebsite in collWebsites)
{
    SPFolderCollection collFolders = oWebsite.Folders;

    foreach (SPFolder oFolder in collFolders)
    {
        SPFileCollection collFiles = oFolder.Files;

        long lngTotalFileSize = 0;

        for (int intIndex = 0; intIndex < collFiles.Count; intIndex++)
        {
            lngTotalFileSize += collFiles[intIndex].Length;
        }

            Label1.Text += " Web: " + 
                SPEncode.HtmlEncode(oWebsite.Name)
                + " Folder: " +
                SPEncode.HtmlEncode(oFolder.Name) + " Number: "
                + oFolder.Files.Count +
                " Size: " + lngTotalFileSize + "<BR>";
    }
    oWebsite.Dispose();
}

Dica

Determinados objetos implementam a interface IDisposable , e você deve evitar reter esses objetos na memória depois que eles não são mais necessários. Para obter informações sobre boas práticas de codificação, consulte Disposing Objects.

Thread safety

Any public static (Shared in Visual Basic) members of this type are thread safe. Any instance members are not guaranteed to be thread safe.

Ver também

Referência

SPFolder members

Microsoft.SharePoint namespace