Freigeben über


DirectoryInfo.EnumerateFiles Methode

Definition

Gibt eine aufzählbare Auflistung von Dateiinformationen im aktuellen Verzeichnis zurück.

Überlädt

Name Beschreibung
EnumerateFiles()

Gibt eine aufzählbare Auflistung von Dateiinformationen im aktuellen Verzeichnis zurück.

EnumerateFiles(String)

Gibt eine aufzählbare Auflistung von Dateiinformationen zurück, die einem Suchmuster entsprechen.

EnumerateFiles(String, EnumerationOptions)

Gibt eine aufzählbare Auflistung von Dateiinformationen zurück, die den angegebenen Suchmustern und Enumerationsoptionen entsprechen.

EnumerateFiles(String, SearchOption)

Gibt eine aufzählbare Auflistung von Dateiinformationen zurück, die einem angegebenen Suchmuster und einer Suchunterverzeichnisoption entsprechen.

EnumerateFiles()

Quelle:
DirectoryInfo.cs
Quelle:
DirectoryInfo.cs
Quelle:
DirectoryInfo.cs
Quelle:
DirectoryInfo.cs
Quelle:
DirectoryInfo.cs

Gibt eine aufzählbare Auflistung von Dateiinformationen im aktuellen Verzeichnis zurück.

public:
 System::Collections::Generic::IEnumerable<System::IO::FileInfo ^> ^ EnumerateFiles();
public System.Collections.Generic.IEnumerable<System.IO.FileInfo> EnumerateFiles();
member this.EnumerateFiles : unit -> seq<System.IO.FileInfo>
Public Function EnumerateFiles () As IEnumerable(Of FileInfo)

Gibt zurück

Eine aufzählbare Auflistung der Dateien im aktuellen Verzeichnis.

Ausnahmen

Der im DirectoryInfo Objekt gekapselte Pfad ist ungültig (z. B. auf einem nicht zugeordneten Laufwerk).

Der Aufrufer verfügt nicht über die erforderliche Berechtigung.

Beispiele

Im folgenden Beispiel werden die Dateien unter einem angegebenen Verzeichnis aufgelistet und eine LINQ-Abfrage verwendet, um die Namen aller Dateien zurückzugeben, die vor 2009 erstellt wurden, indem der Wert der CreationTimeUtc Eigenschaft überprüft wird.

Wenn Sie nur die Namen der Dateien benötigen, verwenden Sie die statische Directory Klasse, um eine bessere Leistung zu erzielen. Ein Beispiel finden Sie unter der Directory.EnumerateFiles(String) Methode.

// Create a DirectoryInfo of the directory of the files to enumerate.
DirectoryInfo DirInfo = new DirectoryInfo(@"\\archives1\library\");

DateTime StartOf2009 = new DateTime(2009, 01, 01);

// LINQ query for all files created before 2009.
var files = from f in DirInfo.EnumerateFiles()
           where f.CreationTimeUtc < StartOf2009
           select f;

// Show results.
foreach (var f in files)
{
    Console.WriteLine("{0}", f.Name);
}
// Create a DirectoryInfo of the directory of the files to enumerate.
let dirInfo = DirectoryInfo @"\archives1\library\"

let startOf2009 = DateTime(2009, 01, 01)

// LINQ query for all files created before 2009.
let files = 
    query {
        for f in dirInfo.EnumerateFiles() do
        where (f.CreationTime < startOf2009)
        select f
    }

// Show results.
for f in files do
    printfn $"{f.Name}"
' Create a DirectoryInfo of the directory of the files to enumerate.
Dim DirInfo As New DirectoryInfo("\\archives1\library\")

Dim StartOf2009 As New DateTime(2009, 1, 1)

' LINQ query for all files created before 2009.
Dim files = From f In DirInfo.EnumerateFiles()
            Where f.CreationTimeUtc < StartOf2009

' Show results.
For Each f As FileInfo In files
    Console.WriteLine("{0}", f.Name)
Next

Das folgende Beispiel zeigt, wie Sie Dateien in einem Verzeichnis mithilfe verschiedener Suchoptionen aufzählen. Im Beispiel wird davon ausgegangen, dass ein Verzeichnis mit Dateien mit dem Namen log1.txt, log2.txt, test1.txt, test2.txt, test3.txtund einem Unterverzeichnis mit dem Namen SubFile.txtenthält.

using System;
using System.IO;

namespace ConsoleApplication1
{
    class Program
    {
        static void Main(string[] args)
        {
            DirectoryInfo di = new DirectoryInfo(@"C:\ExampleDir");
            Console.WriteLine("No search pattern returns:");
            foreach (var fi in di.EnumerateFiles())
            {
                Console.WriteLine(fi.Name);
            }

            Console.WriteLine();

            Console.WriteLine("Search pattern *2* returns:");
            foreach (var fi in di.EnumerateFiles("*2*"))
            {
                Console.WriteLine(fi.Name);
            }

            Console.WriteLine();

            Console.WriteLine("Search pattern test?.txt returns:");
            foreach (var fi in di.EnumerateFiles("test?.txt"))
            {
                Console.WriteLine(fi.Name);
            }

            Console.WriteLine();

            Console.WriteLine("Search pattern AllDirectories returns:");
            foreach (var fi in di.EnumerateFiles("*", SearchOption.AllDirectories))
            {
                Console.WriteLine(fi.Name);
            }
        }
    }
}
/*
This code produces output similar to the following:

No search pattern returns:
log1.txt
log2.txt
test1.txt
test2.txt
test3.txt

Search pattern *2* returns:
log2.txt
test2.txt

Search pattern test?.txt returns:
test1.txt
test2.txt
test3.txt

Search pattern AllDirectories returns:
log1.txt
log2.txt
test1.txt
test2.txt
test3.txt
SubFile.txt
Press any key to continue . . .

*/
open System.IO

let di = DirectoryInfo @"C:\ExampleDir"
printfn "No search pattern returns:"
for fi in di.EnumerateFiles() do
    printfn $"{fi.Name}"

printfn "\nSearch pattern *2* returns:"
for fi in di.EnumerateFiles "*2*" do
    printfn $"{fi.Name}"

printfn "\nSearch pattern test?.txt returns:"
for fi in di.EnumerateFiles "test?.txt" do
    printfn $"{fi.Name}"

printfn "\nSearch pattern AllDirectories returns:"
for fi in di.EnumerateFiles("*", SearchOption.AllDirectories) do
    printfn $"{fi.Name}"
(*
This code produces output similar to the following:

No search pattern returns:
log1.txt
log2.txt
test1.txt
test2.txt
test3.txt

Search pattern *2* returns:
log2.txt
test2.txt

Search pattern test?.txt returns:
test1.txt
test2.txt
test3.txt

Search pattern AllDirectories returns:
log1.txt
log2.txt
test1.txt
test2.txt
test3.txt
SubFile.txt
Press any key to continue . . .
*)
Imports System.IO

Module Module1

    Sub Main()
        Dim di As DirectoryInfo = New DirectoryInfo("C:\ExampleDir")
        Console.WriteLine("No search pattern returns:")
        For Each fi In di.EnumerateFiles()
            Console.WriteLine(fi.Name)
        Next

        Console.WriteLine()

        Console.WriteLine("Search pattern *2* returns:")
        For Each fi In di.EnumerateFiles("*2*")
            Console.WriteLine(fi.Name)
        Next

        Console.WriteLine()

        Console.WriteLine("Search pattern test?.txt returns:")
        For Each fi In di.EnumerateFiles("test?.txt")
            Console.WriteLine(fi.Name)
        Next

        Console.WriteLine()

        Console.WriteLine("Search pattern AllDirectories returns:")
        For Each fi In di.EnumerateFiles("*", SearchOption.AllDirectories)
            Console.WriteLine(fi.Name)
        Next
    End Sub

End Module

' This code produces output similar to the following:

' No search pattern returns:
' log1.txt
' log2.txt
' test1.txt
' test2.txt
' test3.txt

' Search pattern *2* returns:
' log2.txt
' test2.txt

' Search pattern test?.txt returns:
' test1.txt
' test2.txt
' test3.txt

' Search pattern AllDirectories returns:
' log1.txt
' log2.txt
' test1.txt
' test2.txt
' test3.txt
' SubFile.txt
' Press any key to continue . . .

Hinweise

Die EnumerateFiles Methoden und GetFiles Methoden unterscheiden sich wie folgt:

  • Bei Verwendung EnumerateFileskönnen Sie mit dem Aufzählen der Auflistung von FileInfo Objekten beginnen, bevor die gesamte Auflistung zurückgegeben wird.

  • Bei Verwendung GetFilesmüssen Sie warten, bis das gesamte Array von FileInfo Objekten zurückgegeben wird, bevor Sie auf das Array zugreifen können.

Daher kann es effizienter sein, EnumerateFiles wenn Sie mit vielen Dateien und Verzeichnissen arbeiten.

Diese Methode füllt die Werte der folgenden FileInfo Eigenschaften vor:

Die zurückgegebene Sammlung wird nicht zwischengespeichert. jeder Aufruf der GetEnumerator Methode für die Auflistung startet eine neue Aufzählung.

Gilt für:

EnumerateFiles(String)

Quelle:
DirectoryInfo.cs
Quelle:
DirectoryInfo.cs
Quelle:
DirectoryInfo.cs
Quelle:
DirectoryInfo.cs
Quelle:
DirectoryInfo.cs

Gibt eine aufzählbare Auflistung von Dateiinformationen zurück, die einem Suchmuster entsprechen.

public:
 System::Collections::Generic::IEnumerable<System::IO::FileInfo ^> ^ EnumerateFiles(System::String ^ searchPattern);
public System.Collections.Generic.IEnumerable<System.IO.FileInfo> EnumerateFiles(string searchPattern);
member this.EnumerateFiles : string -> seq<System.IO.FileInfo>
Public Function EnumerateFiles (searchPattern As String) As IEnumerable(Of FileInfo)

Parameter

searchPattern
String

Die Suchzeichenfolge, die mit den Namen von Dateien abgeglichen werden soll. Dieser Parameter kann eine Kombination aus gültigen Literalpfad- und Wildcardzeichen (* und ?) enthalten, unterstützt aber keine regulären Ausdrücke.

Gibt zurück

Eine aufzählbare Sammlung von Dateien, die übereinstimmen searchPattern.

Ausnahmen

searchPattern ist null.

Der im DirectoryInfo Objekt gekapselte Pfad ist ungültig (z. B. auf einem nicht zugeordneten Laufwerk).

Der Aufrufer verfügt nicht über die erforderliche Berechtigung.

Beispiele

Das folgende Beispiel zeigt, wie Sie Dateien in einem Verzeichnis mithilfe verschiedener Suchoptionen aufzählen. Im Beispiel wird davon ausgegangen, dass ein Verzeichnis mit Dateien mit dem Namen log1.txt, log2.txt, test1.txt, test2.txt, test3.txtund einem Unterverzeichnis mit dem Namen SubFile.txtenthält.

using System;
using System.IO;

namespace ConsoleApplication1
{
    class Program
    {
        static void Main(string[] args)
        {
            DirectoryInfo di = new DirectoryInfo(@"C:\ExampleDir");
            Console.WriteLine("No search pattern returns:");
            foreach (var fi in di.EnumerateFiles())
            {
                Console.WriteLine(fi.Name);
            }

            Console.WriteLine();

            Console.WriteLine("Search pattern *2* returns:");
            foreach (var fi in di.EnumerateFiles("*2*"))
            {
                Console.WriteLine(fi.Name);
            }

            Console.WriteLine();

            Console.WriteLine("Search pattern test?.txt returns:");
            foreach (var fi in di.EnumerateFiles("test?.txt"))
            {
                Console.WriteLine(fi.Name);
            }

            Console.WriteLine();

            Console.WriteLine("Search pattern AllDirectories returns:");
            foreach (var fi in di.EnumerateFiles("*", SearchOption.AllDirectories))
            {
                Console.WriteLine(fi.Name);
            }
        }
    }
}
/*
This code produces output similar to the following:

No search pattern returns:
log1.txt
log2.txt
test1.txt
test2.txt
test3.txt

Search pattern *2* returns:
log2.txt
test2.txt

Search pattern test?.txt returns:
test1.txt
test2.txt
test3.txt

Search pattern AllDirectories returns:
log1.txt
log2.txt
test1.txt
test2.txt
test3.txt
SubFile.txt
Press any key to continue . . .

*/
open System.IO

let di = DirectoryInfo @"C:\ExampleDir"
printfn "No search pattern returns:"
for fi in di.EnumerateFiles() do
    printfn $"{fi.Name}"

printfn "\nSearch pattern *2* returns:"
for fi in di.EnumerateFiles "*2*" do
    printfn $"{fi.Name}"

printfn "\nSearch pattern test?.txt returns:"
for fi in di.EnumerateFiles "test?.txt" do
    printfn $"{fi.Name}"

printfn "\nSearch pattern AllDirectories returns:"
for fi in di.EnumerateFiles("*", SearchOption.AllDirectories) do
    printfn $"{fi.Name}"
(*
This code produces output similar to the following:

No search pattern returns:
log1.txt
log2.txt
test1.txt
test2.txt
test3.txt

Search pattern *2* returns:
log2.txt
test2.txt

Search pattern test?.txt returns:
test1.txt
test2.txt
test3.txt

Search pattern AllDirectories returns:
log1.txt
log2.txt
test1.txt
test2.txt
test3.txt
SubFile.txt
Press any key to continue . . .
*)
Imports System.IO

Module Module1

    Sub Main()
        Dim di As DirectoryInfo = New DirectoryInfo("C:\ExampleDir")
        Console.WriteLine("No search pattern returns:")
        For Each fi In di.EnumerateFiles()
            Console.WriteLine(fi.Name)
        Next

        Console.WriteLine()

        Console.WriteLine("Search pattern *2* returns:")
        For Each fi In di.EnumerateFiles("*2*")
            Console.WriteLine(fi.Name)
        Next

        Console.WriteLine()

        Console.WriteLine("Search pattern test?.txt returns:")
        For Each fi In di.EnumerateFiles("test?.txt")
            Console.WriteLine(fi.Name)
        Next

        Console.WriteLine()

        Console.WriteLine("Search pattern AllDirectories returns:")
        For Each fi In di.EnumerateFiles("*", SearchOption.AllDirectories)
            Console.WriteLine(fi.Name)
        Next
    End Sub

End Module

' This code produces output similar to the following:

' No search pattern returns:
' log1.txt
' log2.txt
' test1.txt
' test2.txt
' test3.txt

' Search pattern *2* returns:
' log2.txt
' test2.txt

' Search pattern test?.txt returns:
' test1.txt
' test2.txt
' test3.txt

' Search pattern AllDirectories returns:
' log1.txt
' log2.txt
' test1.txt
' test2.txt
' test3.txt
' SubFile.txt
' Press any key to continue . . .

Hinweise

searchPattern kann eine Kombination aus Literal- und Wildcardzeichen sein, aber reguläre Ausdrücke werden nicht unterstützt. Die folgenden Wildcardspezifizierer sind zulässig in searchPattern.

Wildcardbezeichner Matches
* (Sternchen) Null oder mehr Zeichen an dieser Position.
? (Fragezeichen) Null oder ein Zeichen an dieser Position.

Andere Zeichen als der Wildcard sind Literalzeichen. Beispielsweise sucht die Zeichenfolge "*t" nach allen Namen, die mit dem Buchstaben "t" enden. ". Die searchPattern Zeichenfolge "s*" sucht nach allen Namen, die path mit dem Buchstaben "s" beginnen.

Die EnumerateFiles Methoden und GetFiles Methoden unterscheiden sich wie folgt:

  • Bei Verwendung EnumerateFileskönnen Sie mit dem Aufzählen der Auflistung von FileInfo Objekten beginnen, bevor die gesamte Auflistung zurückgegeben wird.

  • Bei Verwendung GetFilesmüssen Sie warten, bis das gesamte Array von FileInfo Objekten zurückgegeben wird, bevor Sie auf das Array zugreifen können.

Daher kann es effizienter sein, EnumerateFiles wenn Sie mit vielen Dateien und Verzeichnissen arbeiten.

Diese Methode füllt die Werte der folgenden FileInfo Eigenschaften vor:

Die zurückgegebene Sammlung wird nicht zwischengespeichert. jeder Aufruf der GetEnumerator Methode für die Auflistung startet eine neue Aufzählung.

Gilt für:

EnumerateFiles(String, EnumerationOptions)

Quelle:
DirectoryInfo.cs
Quelle:
DirectoryInfo.cs
Quelle:
DirectoryInfo.cs
Quelle:
DirectoryInfo.cs
Quelle:
DirectoryInfo.cs

Gibt eine aufzählbare Auflistung von Dateiinformationen zurück, die den angegebenen Suchmustern und Enumerationsoptionen entsprechen.

public:
 System::Collections::Generic::IEnumerable<System::IO::FileInfo ^> ^ EnumerateFiles(System::String ^ searchPattern, System::IO::EnumerationOptions ^ enumerationOptions);
public System.Collections.Generic.IEnumerable<System.IO.FileInfo> EnumerateFiles(string searchPattern, System.IO.EnumerationOptions enumerationOptions);
member this.EnumerateFiles : string * System.IO.EnumerationOptions -> seq<System.IO.FileInfo>
Public Function EnumerateFiles (searchPattern As String, enumerationOptions As EnumerationOptions) As IEnumerable(Of FileInfo)

Parameter

searchPattern
String

Die Suchzeichenfolge, die mit den Namen von Dateien abgeglichen werden soll. Dieser Parameter kann eine Kombination aus gültigen Literalpfad- und Wildcardzeichen (* und ?) enthalten, unterstützt aber keine regulären Ausdrücke.

enumerationOptions
EnumerationOptions

Ein Objekt, das die zu verwendende Such- und Enumerationskonfiguration beschreibt.

Gibt zurück

Eine aufzählbare Sammlung von Dateien, die übereinstimmen searchPattern und .enumerationOptions

Ausnahmen

searchPattern ist null.

Der im DirectoryInfo Objekt gekapselte Pfad ist ungültig (z. B. auf einem nicht zugeordneten Laufwerk).

Der Aufrufer verfügt nicht über die erforderliche Berechtigung.

Hinweise

searchPattern kann eine Kombination aus Literal- und Wildcardzeichen sein, aber reguläre Ausdrücke werden nicht unterstützt. Die folgenden Wildcardspezifizierer sind zulässig in searchPattern.

Wildcardbezeichner Matches
* (Sternchen) Null oder mehr Zeichen an dieser Position.
? (Fragezeichen) Null oder ein Zeichen an dieser Position.

Andere Zeichen als der Wildcard sind Literalzeichen. Beispielsweise sucht die Zeichenfolge "*t" nach allen Namen, die mit dem Buchstaben "t" enden. ". Die searchPattern Zeichenfolge "s*" sucht nach allen Namen, die path mit dem Buchstaben "s" beginnen.

Die EnumerateFiles Methoden und GetFiles Methoden unterscheiden sich wie folgt:

  • Bei Verwendung EnumerateFileskönnen Sie mit dem Aufzählen der Auflistung von FileInfo Objekten beginnen, bevor die gesamte Auflistung zurückgegeben wird.

  • Bei Verwendung GetFilesmüssen Sie warten, bis das gesamte Array von FileInfo Objekten zurückgegeben wird, bevor Sie auf das Array zugreifen können.

Daher kann es effizienter sein, EnumerateFiles wenn Sie mit vielen Dateien und Verzeichnissen arbeiten.

Diese Methode füllt die Werte der folgenden FileInfo Eigenschaften vor:

Die zurückgegebene Sammlung wird nicht zwischengespeichert. jeder Aufruf der GetEnumerator Methode für die Auflistung startet eine neue Aufzählung.

Gilt für:

EnumerateFiles(String, SearchOption)

Quelle:
DirectoryInfo.cs
Quelle:
DirectoryInfo.cs
Quelle:
DirectoryInfo.cs
Quelle:
DirectoryInfo.cs
Quelle:
DirectoryInfo.cs

Gibt eine aufzählbare Auflistung von Dateiinformationen zurück, die einem angegebenen Suchmuster und einer Suchunterverzeichnisoption entsprechen.

public:
 System::Collections::Generic::IEnumerable<System::IO::FileInfo ^> ^ EnumerateFiles(System::String ^ searchPattern, System::IO::SearchOption searchOption);
public System.Collections.Generic.IEnumerable<System.IO.FileInfo> EnumerateFiles(string searchPattern, System.IO.SearchOption searchOption);
member this.EnumerateFiles : string * System.IO.SearchOption -> seq<System.IO.FileInfo>
Public Function EnumerateFiles (searchPattern As String, searchOption As SearchOption) As IEnumerable(Of FileInfo)

Parameter

searchPattern
String

Die Suchzeichenfolge, die mit den Namen von Dateien abgeglichen werden soll. Dieser Parameter kann eine Kombination aus gültigen Literalpfad- und Wildcardzeichen (* und ?) enthalten, unterstützt aber keine regulären Ausdrücke.

searchOption
SearchOption

Einer der Enumerationswerte, der angibt, ob der Suchvorgang nur das aktuelle Verzeichnis oder alle Unterverzeichnisse enthalten soll. Der Standardwert ist TopDirectoryOnly.

Gibt zurück

Eine aufzählbare Sammlung von Dateien, die übereinstimmen searchPattern und .searchOption

Ausnahmen

searchPattern ist null.

searchOption ist kein gültiger SearchOption Wert.

Der im DirectoryInfo Objekt gekapselte Pfad ist ungültig (z. B. auf einem nicht zugeordneten Laufwerk).

Der Aufrufer verfügt nicht über die erforderliche Berechtigung.

Beispiele

Das folgende Beispiel zeigt, wie Sie Dateien in einem Verzeichnis mithilfe verschiedener Suchoptionen aufzählen. Im Beispiel wird davon ausgegangen, dass ein Verzeichnis mit Dateien mit dem Namen log1.txt, log2.txt, test1.txt, test2.txt, test3.txtund einem Unterverzeichnis mit dem Namen SubFile.txtenthält.

using System;
using System.IO;

namespace ConsoleApplication1
{
    class Program
    {
        static void Main(string[] args)
        {
            DirectoryInfo di = new DirectoryInfo(@"C:\ExampleDir");
            Console.WriteLine("No search pattern returns:");
            foreach (var fi in di.EnumerateFiles())
            {
                Console.WriteLine(fi.Name);
            }

            Console.WriteLine();

            Console.WriteLine("Search pattern *2* returns:");
            foreach (var fi in di.EnumerateFiles("*2*"))
            {
                Console.WriteLine(fi.Name);
            }

            Console.WriteLine();

            Console.WriteLine("Search pattern test?.txt returns:");
            foreach (var fi in di.EnumerateFiles("test?.txt"))
            {
                Console.WriteLine(fi.Name);
            }

            Console.WriteLine();

            Console.WriteLine("Search pattern AllDirectories returns:");
            foreach (var fi in di.EnumerateFiles("*", SearchOption.AllDirectories))
            {
                Console.WriteLine(fi.Name);
            }
        }
    }
}
/*
This code produces output similar to the following:

No search pattern returns:
log1.txt
log2.txt
test1.txt
test2.txt
test3.txt

Search pattern *2* returns:
log2.txt
test2.txt

Search pattern test?.txt returns:
test1.txt
test2.txt
test3.txt

Search pattern AllDirectories returns:
log1.txt
log2.txt
test1.txt
test2.txt
test3.txt
SubFile.txt
Press any key to continue . . .

*/
open System.IO

let di = DirectoryInfo @"C:\ExampleDir"
printfn "No search pattern returns:"
for fi in di.EnumerateFiles() do
    printfn $"{fi.Name}"

printfn "\nSearch pattern *2* returns:"
for fi in di.EnumerateFiles "*2*" do
    printfn $"{fi.Name}"

printfn "\nSearch pattern test?.txt returns:"
for fi in di.EnumerateFiles "test?.txt" do
    printfn $"{fi.Name}"

printfn "\nSearch pattern AllDirectories returns:"
for fi in di.EnumerateFiles("*", SearchOption.AllDirectories) do
    printfn $"{fi.Name}"
(*
This code produces output similar to the following:

No search pattern returns:
log1.txt
log2.txt
test1.txt
test2.txt
test3.txt

Search pattern *2* returns:
log2.txt
test2.txt

Search pattern test?.txt returns:
test1.txt
test2.txt
test3.txt

Search pattern AllDirectories returns:
log1.txt
log2.txt
test1.txt
test2.txt
test3.txt
SubFile.txt
Press any key to continue . . .
*)
Imports System.IO

Module Module1

    Sub Main()
        Dim di As DirectoryInfo = New DirectoryInfo("C:\ExampleDir")
        Console.WriteLine("No search pattern returns:")
        For Each fi In di.EnumerateFiles()
            Console.WriteLine(fi.Name)
        Next

        Console.WriteLine()

        Console.WriteLine("Search pattern *2* returns:")
        For Each fi In di.EnumerateFiles("*2*")
            Console.WriteLine(fi.Name)
        Next

        Console.WriteLine()

        Console.WriteLine("Search pattern test?.txt returns:")
        For Each fi In di.EnumerateFiles("test?.txt")
            Console.WriteLine(fi.Name)
        Next

        Console.WriteLine()

        Console.WriteLine("Search pattern AllDirectories returns:")
        For Each fi In di.EnumerateFiles("*", SearchOption.AllDirectories)
            Console.WriteLine(fi.Name)
        Next
    End Sub

End Module

' This code produces output similar to the following:

' No search pattern returns:
' log1.txt
' log2.txt
' test1.txt
' test2.txt
' test3.txt

' Search pattern *2* returns:
' log2.txt
' test2.txt

' Search pattern test?.txt returns:
' test1.txt
' test2.txt
' test3.txt

' Search pattern AllDirectories returns:
' log1.txt
' log2.txt
' test1.txt
' test2.txt
' test3.txt
' SubFile.txt
' Press any key to continue . . .

Hinweise

searchPattern kann eine Kombination aus Literal- und Wildcardzeichen sein, aber reguläre Ausdrücke werden nicht unterstützt. Die folgenden Wildcardspezifizierer sind zulässig in searchPattern.

Wildcardbezeichner Matches
* (Sternchen) Null oder mehr Zeichen an dieser Position.
? (Fragezeichen) Null oder ein Zeichen an dieser Position.

Andere Zeichen als der Wildcard sind Literalzeichen. Beispielsweise sucht die Zeichenfolge "*t" nach allen Namen, die mit dem Buchstaben "t" enden. ". Die searchPattern Zeichenfolge "s*" sucht nach allen Namen, die path mit dem Buchstaben "s" beginnen.

Die EnumerateFiles Methoden und GetFiles Methoden unterscheiden sich wie folgt:

  • Bei Verwendung EnumerateFileskönnen Sie mit dem Aufzählen der Auflistung von FileInfo Objekten beginnen, bevor die gesamte Auflistung zurückgegeben wird.

  • Bei Verwendung GetFilesmüssen Sie warten, bis das gesamte Array von FileInfo Objekten zurückgegeben wird, bevor Sie auf das Array zugreifen können.

Daher kann es effizienter sein, EnumerateFiles wenn Sie mit vielen Dateien und Verzeichnissen arbeiten.

Diese Methode füllt die Werte der folgenden FileInfo Eigenschaften vor:

Die zurückgegebene Sammlung wird nicht zwischengespeichert. jeder Aufruf der GetEnumerator Methode für die Auflistung startet eine neue Aufzählung.

Gilt für: