다음을 통해 공유


StorageFolder.GetFoldersAsync 메서드

정의

오버로드

GetFoldersAsync()

현재 폴더의 하위 폴더를 가져옵니다.

GetFoldersAsync(CommonFolderQuery)

현재 폴더의 하위 폴더를 가져옵니다. 쿼리 인수의 값이 CommonFolderQuery.DefaultQuery 이외의 값이면 현재 폴더의 하위 폴더에 있는 파일 그룹의 컨테이너를 나타내는 가상 폴더 목록을 가져옵니다. 파일은 CommonFolderQuery 열거형의 지정된 값을 기반으로 폴더로 그룹화됩니다.

GetFoldersAsync(CommonFolderQuery, UInt32, UInt32)

현재 폴더의 모든 하위 폴더 목록에서 인덱스 기반 폴더 범위를 가져옵니다. 쿼리 인수의 값이 CommonFolderQuery.DefaultQuery 이외의 값이면 현재 폴더의 하위 폴더에 있는 파일 그룹의 컨테이너를 나타내는 가상 폴더 목록을 가져옵니다. 파일은 CommonFolderQuery 열거형의 지정된 값을 기반으로 폴더로 그룹화됩니다.

GetFoldersAsync()

현재 폴더의 하위 폴더를 가져옵니다.

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))

반환

이 메서드가 성공적으로 완료되면 현재 폴더의 하위 폴더 목록을 반환합니다. 목록은 IReadOnlyList<StorageFolder> 형식입니다. 목록의 각 폴더는 StorageFolder 개체로 표시됩니다.

구현

특성

예외

현재 폴더의 내용에 액세스할 수 있는 권한이 없습니다. 자세한 내용은 파일 액세스 권한을 참조하세요.

예제

다음 예제에서는 GetFoldersAsync(CommonFolderQuery, UInt32, UInt32) 메서드를 호출하여 월별로 그룹화된 사용자의 Pictures 폴더에 있는 하위 폴더의 콘텐츠를 가져오는 방법을 보여 줍니다. (현재 폴더의 루트에 있는 파일은 포함되지 않습니다.) 다음은 인덱스 0의 폴더부터 시작하여 최대 4개의 폴더를 반환하는 예제입니다. CommonFolderQuery.GroupByMonth 옵션은 날짜를 내림차순으로 정렬하므로(즉, 최신부터 가장 오래된 날짜까지) 이 예제에서는 사용자에게 사진이 있는 가장 최근 4개월의 폴더를 반환합니다. 각 폴더에는 해당 달의 모든 사용자 사진이 포함됩니다.

다음 예제를 실행하기 전에 앱 매니페스트 파일에서 그림 라이브러리 기능을 사용하도록 설정합니다.

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

설명

이 쿼리는 현재 폴더의 하위 폴더만 반환하는 단순 쿼리입니다.

다음 표에서는 하위 폴더 목록을 가져오는 StorageFolder 클래스의 메서드를 나열합니다. 이 테이블은 현재 폴더에서 하위 폴더만 반환하는 단순 쿼리와 가상 폴더로 그룹화된 중첩된 하위 폴더의 내용을 반환하는 심층 쿼리를 식별합니다.

일부 메서드는 CommonFolderQuery 열거형의 값을 사용합니다.

  • 폴더와 함께 DefaultQuery 옵션을 사용하는 경우 쿼리는 파일 시스템의 하위 폴더 목록을 반환합니다.
  • 라이브러리 폴더와 함께 DefaultQuery 이외의 옵션을 사용하는 경우 쿼리는 현재 폴더의 하위 폴더에서 파일에 대한 컨테이너를 나타내는 가상 폴더 목록을 반환합니다. (현재 폴더의 파일은 포함되지 않습니다.) 파일은 CommonFolderQuery 열거형의 지정된 값을 기반으로 가상 폴더로 그룹화됩니다. 예를 들어 GroupByMonth를 지정하면 쿼리는 , 및 August 2014September 2014와 같은 July 2014가상 폴더 목록을 반환합니다.

모든 폴더에서 DefaultQuery 옵션을 사용할 수 있습니다. CommonFolderQuery 열거형의 다른 옵션은 그림 라이브러리 또는 홈 그룹 폴더와 같은 라이브러리 폴더에만 사용할 수 있습니다.

라이브러리 폴더가 아닌 폴더에서 심층 쿼리 결과를 얻으려면 CreateFolderQueryWithOptions(QueryOptions) 메서드를 호출하고 QueryOptions 개체의 FolderDepth 속성 값으로 Deep를 지정합니다.

메서드 현재 폴더에서 하위 폴더만 반환하는 단순 쿼리 만들기 중첩된 모든 하위 폴더를 반환하는 심층 쿼리 만들기
GetFoldersAsync() 이 메서드의 기본 동작입니다. 해당 없음
GetFoldersAsync(CommonFileQuery) DefaultQuery 옵션을 지정합니다. 라이브러리 폴더의 경우 DefaultQuery 이외의 옵션을 지정합니다.
GetFoldersAsync(CommonFileQuery, UInt32, UInt32) DefaultQuery 옵션을 지정합니다. 라이브러리 폴더의 경우 DefaultQuery 이외의 옵션을 지정합니다.
CreateFolderQuery() 이 메서드의 기본 동작입니다. 해당 없음
CreateFolderQuery(CommonFileQuery) DefaultQuery 옵션을 지정합니다. 라이브러리 폴더의 경우 DefaultQuery 이외의 옵션을 지정합니다.
CreateFolderQueryWithOptions(QueryOptions) 다음 옵션 중 어느 것도 지정되지 않은 경우 이 메서드의 기본 동작입니다.
-또는-
QueryOptions 개체를 인스턴스화할 때 DefaultQueryCommonFolderQuery 값으로 지정합니다.
-또는-
QueryOptions 개체의 FolderDepth 속성 값으로 Shallow을 지정합니다.
라이브러리 폴더의 경우 QueryOptions 개체를 인스턴스화할 때 DefaultQuery 이외의 값을 CommonFolderQuery 값으로 지정합니다.
-또는-
폴더에 대해 QueryOptionsFolderDepth 속성 값으로 Deep을 지정합니다.

추가 정보

적용 대상

GetFoldersAsync(CommonFolderQuery)

현재 폴더의 하위 폴더를 가져옵니다. 쿼리 인수의 값이 CommonFolderQuery.DefaultQuery 이외의 값이면 현재 폴더의 하위 폴더에 있는 파일 그룹의 컨테이너를 나타내는 가상 폴더 목록을 가져옵니다. 파일은 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))

매개 변수

query
CommonFolderQuery

파일을 폴더로 그룹화하고 쿼리가 단순하거나 깊은지 여부를 결정하는 열거형 값 중 하나입니다.

반환

이 메서드가 성공적으로 완료되면 하위 폴더 목록을 반환합니다. 쿼리 인수의 값이 CommonFolderQuery.DefaultQuery 이외의 값이면 이 메서드는 현재 폴더의 하위 폴더에 있는 파일 그룹의 컨테이너를 나타내는 가상 폴더 목록을 반환합니다. (현재 폴더의 파일은 포함되지 않습니다.) 파일은 쿼리에 지정된 대로 그룹화됩니다. 목록은 IReadOnlyList<StorageFolder> 형식입니다. 목록의 각 폴더는 StorageFolder 개체로 표시됩니다.

구현

특성

예외

현재 폴더의 내용에 액세스할 수 있는 권한이 없습니다. 자세한 내용은 파일 액세스 권한을 참조하세요.

추가 정보

적용 대상

GetFoldersAsync(CommonFolderQuery, UInt32, UInt32)

현재 폴더의 모든 하위 폴더 목록에서 인덱스 기반 폴더 범위를 가져옵니다. 쿼리 인수의 값이 CommonFolderQuery.DefaultQuery 이외의 값이면 현재 폴더의 하위 폴더에 있는 파일 그룹의 컨테이너를 나타내는 가상 폴더 목록을 가져옵니다. 파일은 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))

매개 변수

query
CommonFolderQuery

파일을 폴더로 그룹화하고 쿼리가 단순하거나 깊은지 여부를 결정하는 열거형 값 중 하나입니다.

startIndex
UInt32

unsigned int

uint32_t

검색할 범위에서 첫 번째 폴더의 인덱스(0부터 시작)입니다.

maxItemsToRetrieve
UInt32

unsigned int

uint32_t

검색할 최대 폴더 수입니다.

반환

이 메서드가 성공적으로 완료되면 하위 폴더 목록을 반환합니다. 쿼리 인수의 값이 CommonFolderQuery.DefaultQuery 이외의 값이면 이 메서드는 현재 폴더의 하위 폴더에 있는 파일 그룹의 컨테이너를 나타내는 가상 폴더 목록을 반환합니다. (현재 폴더의 파일은 포함되지 않습니다.) 파일은 쿼리에 지정된 대로 그룹화됩니다. 목록은 IReadOnlyList<StorageFolder> 형식입니다. 목록의 각 폴더는 StorageFolder 개체로 표시됩니다.

구현

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)
특성

예외

현재 폴더의 내용에 액세스할 수 있는 권한이 없습니다. 자세한 내용은 파일 액세스 권한을 참조하세요.

추가 정보

적용 대상