Compartir a través de


StorageFolder.GetFoldersAsync Método

Definición

Sobrecargas

GetFoldersAsync()

Obtiene las subcarpetas de la carpeta actual.

GetFoldersAsync(CommonFolderQuery)

Obtiene las subcarpetas de la carpeta actual. Cuando el valor del argumento de consulta es distinto de CommonFolderQuery.DefaultQuery, obtiene una lista de carpetas virtuales que representan contenedores para grupos de archivos en las subcarpetas de la carpeta actual. Los archivos se agrupan en carpetas según el valor especificado de la enumeración CommonFolderQuery .

GetFoldersAsync(CommonFolderQuery, UInt32, UInt32)

Obtiene un intervalo de carpetas basado en índices de la lista de todas las subcarpetas de la carpeta actual. Cuando el valor del argumento de consulta es distinto de CommonFolderQuery.DefaultQuery, obtiene una lista de carpetas virtuales que representan contenedores para grupos de archivos en las subcarpetas de la carpeta actual. Los archivos se agrupan en carpetas según el valor especificado de la enumeración CommonFolderQuery .

GetFoldersAsync()

Obtiene las subcarpetas de la carpeta actual.

public:
 virtual IAsyncOperation<IVectorView<StorageFolder ^> ^> ^ GetFoldersAsync() = GetFoldersAsync;
/// [Windows.Foundation.Metadata.Overload("GetFoldersAsyncOverloadDefaultOptionsStartAndCount")]
/// [Windows.Foundation.Metadata.RemoteAsync]
IAsyncOperation<IVectorView<StorageFolder>> GetFoldersAsync();
[Windows.Foundation.Metadata.Overload("GetFoldersAsyncOverloadDefaultOptionsStartAndCount")]
[Windows.Foundation.Metadata.RemoteAsync]
public IAsyncOperation<IReadOnlyList<StorageFolder>> GetFoldersAsync();
function getFoldersAsync()
Public Function GetFoldersAsync () As IAsyncOperation(Of IReadOnlyList(Of StorageFolder))

Devoluciones

Cuando este método se completa correctamente, devuelve una lista de las subcarpetas de la carpeta actual. La lista es de tipo IReadOnlyList<StorageFolder>. Cada carpeta de la lista se representa mediante un objeto StorageFolder .

Implementaciones

Atributos

Excepciones

No tiene permiso para acceder al contenido de la carpeta actual. Para obtener más información, consulte Permisos de acceso a archivos.

Ejemplos

En el ejemplo siguiente se muestra cómo obtener el contenido de las subcarpetas en la carpeta Imágenes del usuario, agrupada por mes, llamando al método GetFoldersAsync(CommonFolderQuery, UInt32, UInt32). (No se incluyen los archivos de la raíz de la carpeta actual). En este ejemplo se devuelve un máximo de 4 carpetas, empezando por la carpeta en el índice 0. Dado que la opción CommonFolderQuery.GroupByMonth ordena las fechas en orden descendente (es decir, de la más reciente a la más antigua), en este ejemplo se devuelven las carpetas de los 4 meses más recientes para los que el usuario tiene fotos. Cada carpeta contiene todas las fotos del usuario de ese mes.

Antes de ejecutar el ejemplo siguiente, habilite la funcionalidad Biblioteca de imágenes en el archivo de manifiesto de la aplicación.

using Windows.Storage;
using Windows.Storage.Search;
using System.Threading.Tasks;
using System.Diagnostics; // For writing results to Output window.

// Get the user's Pictures folder.
// Enable the corresponding capability in the app manifest file.
StorageFolder picturesFolder = KnownFolders.PicturesLibrary;

// Get the files in the subfolders of the user's Pictures folder,
// grouped by month. Get only the first 4 folders (months).
IReadOnlyList <StorageFolder> groupedItems = await picturesFolder.GetFoldersAsync(CommonFolderQuery.GroupByMonth, 0, 4);

// Iterate over the results and print the list of folders
// and files to the Visual Studio Output window.
foreach (StorageFolder folder in groupedItems)
{
    Debug.WriteLine(folder.Name);

    // To iterate over the files in each folder, uncomment the following lines. 
    // foreach(StorageFile file in await folder.GetFilesAsync())
    //    Debug.WriteLine(" " + file.Name);
}
IAsyncAction MainPage::ExampleCoroutineAsync()
{
    // Get the users's Pictures folder.
    // Enable the Pictures Library capability in the app manifest file.
    Windows::Storage::StorageFolder picturesFolder{ Windows::Storage::KnownFolders::PicturesLibrary() };

    // Get the files in the user's Pictures folder, grouped by month.
    // Get only the first 4 folders (months).
    Windows::Foundation::Collections::IVectorView<Windows::Storage::StorageFolder> itemsInFolder{
        co_await picturesFolder.GetFoldersAsync(Windows::Storage::Search::CommonFolderQuery::GroupByMonth, 0, 4) };

    // Iterate over the results, and print the list of file groups to the Visual Studio output window.
    for (StorageFolder const& itemInFolder : itemsInFolder)
    {
        std::wstring output{ itemInFolder.Name() };
        ::OutputDebugString(output.c_str());
    }
}
// Get the user's Pictures folder.
// Enable the corresponding capability in the app manifest file.
StorageFolder^ picturesFolder = KnownFolders::PicturesLibrary;

// Get the files in the user's Pictures folder, grouped by month.
// Get only the first 4 folders (months).
create_task(picturesFolder->GetFoldersAsync(CommonFolderQuery::GroupByMonth, 0, 4)).then([=](IVectorView<StorageFolder^>^ itemsInFolder) {
 //Iterate over the results and print the list of file groups
 // to the visual studio output window
 for (auto it = itemsInFolder->First(); it->HasCurrent; it->MoveNext())
 {
  StorageFolder^ file = it->Current;
  String^ output = file->Name + "\n";
  OutputDebugString(output->Begin());
 }
});

Comentarios

Esta consulta es una consulta superficial que devuelve solo subcarpetas en la carpeta actual.

En la tabla siguiente se enumeran los métodos de la clase StorageFolder que obtienen una lista de subcarpetas. La tabla identifica consultas poco profundas que solo devuelven subcarpetas de la carpeta actual y consultas profundas que devuelven el contenido de las subcarpetas anidadas, agrupadas en carpetas virtuales.

Algunos métodos toman un valor de la enumeración CommonFolderQuery .

  • Cuando se usa la opción DefaultQuery con cualquier carpeta, la consulta devuelve una lista de subcarpetas en el sistema de archivos.
  • Cuando se usa una opción distinta de DefaultQuery con una carpeta de biblioteca, la consulta devuelve una lista de carpetas virtuales que representan contenedores para archivos de las subcarpetas de la carpeta actual. (No se incluyen los archivos de la carpeta actual). Los archivos se agrupan en carpetas virtuales en función del valor especificado de la enumeración CommonFolderQuery . Por ejemplo, si especifica GroupByMonth, la consulta devuelve una lista de carpetas virtuales como July 2014, August 2014y September 2014.

Sugerencia

Puede usar la opción DefaultQuery con cualquier carpeta; Puede usar las demás opciones de la enumeración CommonFolderQuery solo con carpetas de biblioteca, como la biblioteca Imágenes o la carpeta Grupo hogar.

Para obtener resultados de consultas profundas de una carpeta que no es una carpeta de biblioteca, llame al método CreateFolderQueryWithOptions(QueryOptions) y especifique Deep como el valor de la propiedad FolderDepth del objeto QueryOptions .

Método Cree una consulta superficial que solo devuelva subcarpetas de la carpeta actual. Crear una consulta profunda que devuelva todas las subcarpetas anidadas
GetFoldersAsync() Comportamiento predeterminado de este método. N/D
GetFoldersAsync(CommonFileQuery) Especifique la opción DefaultQuery . Para una carpeta de biblioteca, especifique una opción distinta de DefaultQuery.
GetFoldersAsync(CommonFileQuery, UInt32, UInt32) Especifique la opción DefaultQuery . Para una carpeta de biblioteca, especifique una opción distinta de DefaultQuery.
CreateFolderQuery() Comportamiento predeterminado de este método. N/D
CreateFolderQuery(CommonFileQuery) Especifique la opción DefaultQuery . Para una carpeta de biblioteca, especifique una opción distinta de DefaultQuery.
CreateFolderQueryWithOptions(QueryOptions) Comportamiento predeterminado de este método si no se especifica ninguna de las siguientes opciones.
O bien
Especifique DefaultQuery como valor de CommonFolderQuery al crear una instancia del objeto QueryOptions .
O bien
Especifique Superficial como valor de la propiedad FolderDepth del objeto QueryOptions .
Para una carpeta de biblioteca, especifique un valor distinto de DefaultQuery como valor de CommonFolderQuery al crear una instancia del objeto QueryOptions .
O bien
Para cualquier carpeta, especifique Deep como el valor de la propiedad FolderDepth de QueryOptions.

Consulte también

Se aplica a

GetFoldersAsync(CommonFolderQuery)

Obtiene las subcarpetas de la carpeta actual. Cuando el valor del argumento de consulta es distinto de CommonFolderQuery.DefaultQuery, obtiene una lista de carpetas virtuales que representan contenedores para grupos de archivos en las subcarpetas de la carpeta actual. Los archivos se agrupan en carpetas según el valor especificado de la enumeración CommonFolderQuery .

public:
 virtual IAsyncOperation<IVectorView<StorageFolder ^> ^> ^ GetFoldersAsync(CommonFolderQuery query) = GetFoldersAsync;
/// [Windows.Foundation.Metadata.Overload("GetFoldersAsyncOverloadDefaultStartAndCount")]
/// [Windows.Foundation.Metadata.RemoteAsync]
IAsyncOperation<IVectorView<StorageFolder>> GetFoldersAsync(CommonFolderQuery const& query);
[Windows.Foundation.Metadata.Overload("GetFoldersAsyncOverloadDefaultStartAndCount")]
[Windows.Foundation.Metadata.RemoteAsync]
public IAsyncOperation<IReadOnlyList<StorageFolder>> GetFoldersAsync(CommonFolderQuery query);
function getFoldersAsync(query)
Public Function GetFoldersAsync (query As CommonFolderQuery) As IAsyncOperation(Of IReadOnlyList(Of StorageFolder))

Parámetros

query
CommonFolderQuery

Uno de los valores de enumeración que especifica cómo agrupar los archivos en carpetas y determina si la consulta es superficial o profunda.

Devoluciones

Cuando este método se completa correctamente, devuelve una lista de subcarpetas. Cuando el valor del argumento de consulta es distinto de CommonFolderQuery.DefaultQuery, este método devuelve una lista de carpetas virtuales que representan contenedores para grupos de archivos en las subcarpetas de la carpeta actual. (No se incluyen los archivos de la carpeta actual). Los archivos se agrupan según lo especificado por la consulta. La lista es de tipo IReadOnlyList<StorageFolder>. Cada carpeta de la lista se representa mediante un objeto StorageFolder .

Implementaciones

Atributos

Excepciones

No tiene permiso para acceder al contenido de la carpeta actual. Para obtener más información, consulte Permisos de acceso a archivos.

Consulte también

Se aplica a

GetFoldersAsync(CommonFolderQuery, UInt32, UInt32)

Obtiene un intervalo de carpetas basado en índices de la lista de todas las subcarpetas de la carpeta actual. Cuando el valor del argumento de consulta es distinto de CommonFolderQuery.DefaultQuery, obtiene una lista de carpetas virtuales que representan contenedores para grupos de archivos en las subcarpetas de la carpeta actual. Los archivos se agrupan en carpetas según el valor especificado de la enumeración CommonFolderQuery .

public:
 virtual IAsyncOperation<IVectorView<StorageFolder ^> ^> ^ GetFoldersAsync(CommonFolderQuery query, unsigned int startIndex, unsigned int maxItemsToRetrieve) = GetFoldersAsync;
/// [Windows.Foundation.Metadata.Overload("GetFoldersAsync")]
/// [Windows.Foundation.Metadata.RemoteAsync]
IAsyncOperation<IVectorView<StorageFolder>> GetFoldersAsync(CommonFolderQuery const& query, uint32_t const& startIndex, uint32_t const& maxItemsToRetrieve);
[Windows.Foundation.Metadata.Overload("GetFoldersAsync")]
[Windows.Foundation.Metadata.RemoteAsync]
public IAsyncOperation<IReadOnlyList<StorageFolder>> GetFoldersAsync(CommonFolderQuery query, uint startIndex, uint maxItemsToRetrieve);
function getFoldersAsync(query, startIndex, maxItemsToRetrieve)
Public Function GetFoldersAsync (query As CommonFolderQuery, startIndex As UInteger, maxItemsToRetrieve As UInteger) As IAsyncOperation(Of IReadOnlyList(Of StorageFolder))

Parámetros

query
CommonFolderQuery

Uno de los valores de enumeración que especifica cómo agrupar los archivos en carpetas y determina si la consulta es superficial o profunda.

startIndex
UInt32

unsigned int

uint32_t

Índice de base cero de la primera carpeta del intervalo que se va a recuperar.

maxItemsToRetrieve
UInt32

unsigned int

uint32_t

Número máximo de carpetas que se van a recuperar.

Devoluciones

Cuando este método se completa correctamente, devuelve una lista de subcarpetas. Cuando el valor del argumento de consulta es distinto de CommonFolderQuery.DefaultQuery, este método devuelve una lista de carpetas virtuales que representan contenedores para grupos de archivos en las subcarpetas de la carpeta actual. (No se incluyen los archivos de la carpeta actual). Los archivos se agrupan según lo especificado por la consulta. La lista es de tipo IReadOnlyList<StorageFolder>. Cada carpeta de la lista se representa mediante un objeto StorageFolder .

Implementaciones

M:Windows.Storage.Search.IStorageFolderQueryOperations.GetFoldersAsync(Windows.Storage.Search.CommonFolderQuery,System.UInt32,System.UInt32) M:Windows.Storage.Search.IStorageFolderQueryOperations.GetFoldersAsync(Windows.Storage.Search.CommonFolderQuery,unsigned int,unsigned int) M:Windows.Storage.Search.IStorageFolderQueryOperations.GetFoldersAsync(Windows.Storage.Search.CommonFolderQuery,uint32_t,uint32_t)
Atributos

Excepciones

No tiene permiso para acceder al contenido de la carpeta actual. Para obtener más información, consulte Permisos de acceso a archivos.

Consulte también

Se aplica a