Share via


Clase SPFolder

Representa una carpeta de un sitio web de SharePoint.

Jerarquía de la herencia

System.Object
  Microsoft.SharePoint.SPFolder

Espacio de nombres:  Microsoft.SharePoint
Ensamblado:  Microsoft.SharePoint (en Microsoft.SharePoint.dll)

Sintaxis

'Declaración
Public Class SPFolder
'Uso
Dim instance As SPFolder
public class SPFolder

Comentarios

Utilice la propiedad Folders de la clase SPWeb o la propiedad SubFolders de la clase SPFolder para devolver un objeto SPFolderCollection que representa la colección de carpetas de un sitio o una carpeta. Utilice un indizador para devolver una sola carpeta de la colección. Por ejemplo, si la colección se asigna a una variable denominada collFolders, use collFolders[index] en C# o collFolders(index) en Visual Basic, donde index es el número de índice de la carpeta de la colección o el nombre para mostrar de la carpeta.

Ejemplos

En el ejemplo de código siguiente se muestra información sobre las carpetas en un sitio y todos sus subsitios, incluido el nombre del sitio, el nombre de la carpeta, el número de archivos en la carpeta y el tamaño total de los archivos.

En este ejemplo se requieren using directivas (Imports en Visual Basic) para los espacios de nombres Microsoft.SharePoint y Microsoft.SharePoint.Utilities .

En el ejemplo también requiere una página .aspx predefinidos que contiene un control de etiqueta.

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();
}

Nota

Determinados objetos implementan la interfaz de IDisposable y, a continuación, se debe evitar la conservación de estos objetos en la memoria que ya no se necesitan. Para obtener información acerca de buenas prácticas de codificación, vea Disposing Objects.

Seguridad para subprocesos

Los miembros static (Shared en Visual Basic) públicos de este tipo son seguros para subprocesos. No se garantiza que los miembros de instancias sean seguros para los subprocesos.

Vea también

Referencia

Miembros SPFolder

Espacio de nombres Microsoft.SharePoint