Freigeben über


StorageFolder.GetItemsAsync Methode

Definition

Überlädt

GetItemsAsync()

Ruft die Dateien und Unterordner im aktuellen Ordner ab.

GetItemsAsync(UInt32, UInt32)

Ruft einen indexbasierten Bereich von Dateien und Ordnern aus der Liste aller Dateien und Unterordner im aktuellen Ordner ab.

GetItemsAsync()

Ruft die Dateien und Unterordner im aktuellen Ordner ab.

public:
 virtual IAsyncOperation<IVectorView<IStorageItem ^> ^> ^ GetItemsAsync() = GetItemsAsync;
/// [Windows.Foundation.Metadata.Overload("GetItemsAsyncOverloadDefaultStartAndCount")]
/// [Windows.Foundation.Metadata.RemoteAsync]
IAsyncOperation<IVectorView<IStorageItem>> GetItemsAsync();
[Windows.Foundation.Metadata.Overload("GetItemsAsyncOverloadDefaultStartAndCount")]
[Windows.Foundation.Metadata.RemoteAsync]
public IAsyncOperation<IReadOnlyList<IStorageItem>> GetItemsAsync();
function getItemsAsync()
Public Function GetItemsAsync () As IAsyncOperation(Of IReadOnlyList(Of IStorageItem))

Gibt zurück

Wenn diese Methode erfolgreich abgeschlossen wurde, wird eine Liste der Dateien und Ordner im aktuellen Ordner zurückgegeben. Die Liste ist vom Typ IReadOnlyList<IStorageItem>. Jedes Element in der Liste wird durch ein IStorageItem-Objekt dargestellt.

Um mit den zurückgegebenen Elementen zu arbeiten, rufen Sie die IsOfType-Methode der IStorageItem-Schnittstelle auf, um zu bestimmen, ob jedes Element eine Datei oder ein Ordner ist. Wandeln Sie das Element dann in einen StorageFolder - oder StorageFile-Wert um.

Implementiert

Attribute

Ausnahmen

Sie sind nicht berechtigt, auf den Inhalt des aktuellen Ordners zuzugreifen. Weitere Informationen finden Sie unter Dateizugriffsberechtigungen.

Beispiele

Das folgende Beispiel zeigt, wie Sie die Dateien und Unterordner im aktuellen Ordner abrufen, indem Sie die GetItemsAsync()-Methode aufrufen.

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

// Get the app's installation folder.
StorageFolder appFolder = Windows.ApplicationModel.Package.Current.InstalledLocation;

// Get the files and folders in the current folder.
IReadOnlyList<IStorageItem> itemsInFolder = await appFolder.GetItemsAsync();

// Iterate over the results and print the list of items
// to the Visual Studio Output window.
foreach (IStorageItem item in itemsInFolder)
{
    if(item.IsOfType(StorageItemTypes.Folder))
        Debug.WriteLine("Folder: " + item.Name);
    else
        Debug.WriteLine("File: " + item.Name + ", " + item.DateCreated);
}
IAsyncAction MainPage::ExampleCoroutineAsync()
{
    // Get the app's installation folder.
    Windows::Storage::StorageFolder appFolder{ Windows::ApplicationModel::Package::Current().InstalledLocation() };

    // Get the items in the current folder.
    Windows::Foundation::Collections::IVectorView<Windows::Storage::IStorageItem> itemsInFolder{
        co_await appFolder.GetItemsAsync() };

    // Iterate over the results, and print the list of items to the Visual Studio output window.
    for (IStorageItem const& itemInFolder : itemsInFolder)
    {
        std::wstringstream stringstream;

        if (itemInFolder.IsOfType(Windows::Storage::StorageItemTypes::File))
        {
            stringstream << L"File: ";
        }
        else
        {
            stringstream << L"Folder: ";
        }

        stringstream << itemInFolder.Name().c_str() << std::endl;
        ::OutputDebugString(stringstream.str().c_str());
    }
}
// Get the apps installation folder
StorageFolder^ appFolder = Windows::ApplicationModel::Package::Current->InstalledLocation;

// Get the items in the current folder; 
create_task(appFolder->GetItemsAsync()).then([=](IVectorView<IStorageItem^>^ itemsInFolder) {

 //Iterate over the results and print the list of items
 // to the visual studio output window
 for (auto it = itemsInFolder->First(); it->HasCurrent; it->MoveNext())
 {
  IStorageItem^ item = it->Current;
  if (item->IsOfType(StorageItemTypes::File))
  {
   String^ output = "File: " + item->Name + "\n";
   OutputDebugString(output->Begin());
  }
  else
  {
   String^ output = "Folder: " + item->Name + "\n";
   OutputDebugString(output->Begin());
  }
 }
});

Hinweise

In der folgenden Tabelle sind Methoden der StorageFolder-Klasse aufgeführt, die eine Liste von Dateien und Ordnern abrufen. Die Tabelle identifiziert flache Abfragen, die nur Elemente aus dem aktuellen Ordner zurückgeben, sowie tiefe Abfragen, die Elemente aus dem aktuellen Ordner und seinen Unterordnern zurückgeben.

Um tiefe Abfrageergebnisse aus einem Ordner zu erhalten, der kein Bibliotheksordner ist, rufen Sie die CreateItemQueryWithOptions(QueryOptions) -Methode auf, und geben Sie Deep als Wert der FolderDepth-Eigenschaft des QueryOptions-Objekts an.

Methode Erstellen einer flachen Abfrage, die nur Elemente aus dem aktuellen Ordner zurückgibt Erstellen einer tiefen Abfrage, die Elemente aus dem aktuellen Ordner und seinen Unterordnern zurückgibt
GetItemsAsync() Standardverhalten dieser Methode.
GetItemsAsync(UInt32, UInt32) Standardverhalten dieser Methode.
CreateItemQuery() Standardverhalten dieser Methode.
CreateItemQueryWithOptions(QueryOptions) Standardverhalten dieser Methode, wenn keine der folgenden Optionen angegeben ist.
- oder -
Geben Sie DefaultQuery als Wert von CommonFileQuery oder CommonFolderQuery an, wenn Sie das QueryOptions-Objekt instanziieren .
- oder -
Geben Sie Shallow als Wert der FolderDepth-Eigenschaft des QueryOptions-Objekts an.
Geben Sie für einen Bibliotheksordner einen anderen Wert als DefaultQuery als Wert von CommonFileQuery oder CommonFolderQuery an, wenn Sie das QueryOptions-Objekt instanziieren .
- oder -
Geben Sie für jeden Ordner Deep als Wert der FolderDepth-Eigenschaft der QueryOptions-Eigenschaft an.

Um nur Dateien abzurufen, rufen Sie die GetFilesAsync-Methode auf. Um nur Ordner abzurufen, rufen Sie die GetFoldersAsync-Methode auf.

Weitere Informationen

Gilt für:

GetItemsAsync(UInt32, UInt32)

Ruft einen indexbasierten Bereich von Dateien und Ordnern aus der Liste aller Dateien und Unterordner im aktuellen Ordner ab.

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

Parameter

startIndex
UInt32

unsigned int

uint32_t

Der nullbasierte Index des ersten Elements im abzurufenden Bereich.

maxItemsToRetrieve
UInt32

unsigned int

uint32_t

Die maximale Anzahl der abzurufenden Elemente.

Gibt zurück

Wenn diese Methode erfolgreich abgeschlossen wurde, wird eine Liste der Dateien und Unterordner im aktuellen Ordner zurückgegeben. Die Liste ist vom Typ IReadOnlyList<IStorageItem>. Jedes Element in der Liste wird durch ein IStorageItem-Objekt dargestellt.

Um mit den zurückgegebenen Elementen zu arbeiten, rufen Sie die IsOfType-Methode der IStorageItem-Schnittstelle auf, um zu bestimmen, ob jedes Element eine Datei oder ein Ordner ist. Wandeln Sie das Element dann in einen StorageFolder - oder StorageFile-Wert um.

Implementiert

M:Windows.Storage.Search.IStorageFolderQueryOperations.GetItemsAsync(System.UInt32,System.UInt32) M:Windows.Storage.Search.IStorageFolderQueryOperations.GetItemsAsync(unsigned int,unsigned int) M:Windows.Storage.Search.IStorageFolderQueryOperations.GetItemsAsync(uint32_t,uint32_t)
Attribute

Ausnahmen

Sie sind nicht berechtigt, auf den Inhalt des aktuellen Ordners zuzugreifen. Weitere Informationen finden Sie unter Dateizugriffsberechtigungen.

Weitere Informationen

Gilt für: