DirectoryInfo.GetFiles Methode

Definitie

Retourneert een bestandslijst uit de huidige map.

Overloads

Name Description
GetFiles(String, EnumerationOptions)

Retourneert een bestandslijst uit de huidige map die overeenkomt met het opgegeven zoekpatroon en de opsommingsopties.

GetFiles(String, SearchOption)

Retourneert een lijst met bestanden uit de huidige map die overeenkomt met het opgegeven zoekpatroon en met behulp van een waarde om te bepalen of submappen moeten worden gezocht.

GetFiles()

Retourneert een bestandslijst uit de huidige map.

GetFiles(String)

Retourneert een bestandslijst uit de huidige map die overeenkomt met het opgegeven zoekpatroon.

GetFiles(String, EnumerationOptions)

Retourneert een bestandslijst uit de huidige map die overeenkomt met het opgegeven zoekpatroon en de opsommingsopties.

public:
 cli::array <System::IO::FileInfo ^> ^ GetFiles(System::String ^ searchPattern, System::IO::EnumerationOptions ^ enumerationOptions);
public System.IO.FileInfo[] GetFiles(string searchPattern, System.IO.EnumerationOptions enumerationOptions);
member this.GetFiles : string * System.IO.EnumerationOptions -> System.IO.FileInfo[]
Public Function GetFiles (searchPattern As String, enumerationOptions As EnumerationOptions) As FileInfo()

Parameters

searchPattern
String

De zoekreeks die overeenkomt met de namen van bestanden. Deze parameter kan een combinatie van geldig letterlijke tekens en jokertekens (* en ?) bevatten, maar biedt geen ondersteuning voor reguliere expressies.

enumerationOptions
EnumerationOptions

Een object dat de zoek- en opsommingsconfiguratie beschrijft die moet worden gebruikt.

Retouren

Een matrix van sterk getypte FileInfo objecten die overeenkomen searchPattern met en enumerationOptions.

Uitzonderingen

.NET Framework- en .NET Core-versies ouder dan 2.1: searchPattern bevat een of meer ongeldige tekens die zijn gedefinieerd door de methode GetInvalidPathChars().

searchPattern is null.

Het pad is ongeldig (bijvoorbeeld op een niet-toegewezen station).

De beller heeft niet de vereiste machtiging.

Opmerkingen

searchPattern kan een combinatie zijn van letterlijke tekens en jokertekens, maar biedt geen ondersteuning voor reguliere expressies. De volgende jokertekenaanduidingen zijn toegestaan in searchPattern.

Jokertekenaanduiding Overeenkomsten
* (sterretje) Nul of meer tekens op die positie.
? (vraagteken) Nul of één teken op die positie.

Andere tekens dan het jokerteken zijn letterlijke tekens. Met de tekenreeks '*t' wordt bijvoorbeeld gezocht naar alle namen die eindigen op de letter 't'. De searchPattern tekenreeks 's*' zoekt naar alle namen in path het begin met de letter 's'.

De EnumerateFiles en GetFiles methoden verschillen als volgt:

  • Wanneer u dit gebruikt EnumerateFiles, kunt u beginnen met het inventariseren van FileInfo de verzameling objecten voordat de hele verzameling wordt geretourneerd.

  • Wanneer u deze functie gebruikt GetFiles, moet u wachten totdat de hele matrix met FileInfo objecten wordt geretourneerd voordat u toegang hebt tot de matrix.

Daarom kan het efficiënter zijn wanneer u met veel bestanden en mappen EnumerateFiles werkt.

Als er geen bestanden in de DirectoryInfotabel staan, retourneert deze methode een lege matrix.

De volgende jokertekenaanduidingen zijn toegestaan in de searchPattern parameter.

Jokerteken Description
* Nul of meer tekens.
? Precies nul of één teken.

De volgorde van de geretourneerde bestandsnamen is niet gegarandeerd; gebruik de Sort methode als een specifieke sorteervolgorde is vereist.

Wildcards zijn toegestaan. Met de searchPattern tekenreeks '*.txt' wordt bijvoorbeeld gezocht naar alle bestandsnamen met de extensie 'txt'. De searchPattern tekenreeks 's*' zoekt naar alle bestandsnamen die beginnen met de letter 's'. Als er geen bestanden zijn of geen bestanden die overeenkomen met de searchPattern tekenreeks in de DirectoryInfotekenreeks, retourneert deze methode een lege matrix.

Note

Wanneer u het jokerteken van het sterretje in een searchPattern (bijvoorbeeld '*.txt'), het overeenkomende gedrag varieert, afhankelijk van de lengte van de opgegeven bestandsextensie. Een searchPattern met een bestandsextensie van precies drie tekens retourneert bestanden met een extensie van drie of meer tekens, waarbij de eerste drie tekens overeenkomen met de bestandsextensie die is opgegeven in de searchPattern. Een searchPattern met een bestandsextensie van één, twee of meer dan drie tekens retourneert alleen bestanden met extensies van precies die lengte die overeenkomt met de bestandsextensie die is opgegeven in de searchPattern. Wanneer u het vraagteken jokerteken gebruikt, retourneert deze methode alleen bestanden die overeenkomen met de opgegeven bestandsextensie. Bijvoorbeeld, gegeven twee bestanden in een map, "file1.txt" en "file1.txtother", een zoekpatroon van "bestand?.txt" retourneert alleen het eerste bestand, terwijl een zoekpatroon van 'bestand*.txt' beide bestanden retourneert.

Note

Omdat deze methode controleert op bestandsnamen met zowel de 8.3-bestandsindeling als de lange bestandsnaamindeling, kan een zoekpatroon dat vergelijkbaar is met *1*.txt" onverwachte bestandsnamen retourneren. Als u bijvoorbeeld een zoekpatroon van '*1*.txt' gebruikt, wordt 'longfilename.txt' geretourneerd omdat de equivalente 8.3-bestandsindeling 'longf~1.txt' zou zijn.

Met deze methode worden de waarden van de volgende FileInfo eigenschappen vooraf ingevuld:

Van toepassing op

GetFiles(String, SearchOption)

Retourneert een lijst met bestanden uit de huidige map die overeenkomt met het opgegeven zoekpatroon en met behulp van een waarde om te bepalen of submappen moeten worden gezocht.

public:
 cli::array <System::IO::FileInfo ^> ^ GetFiles(System::String ^ searchPattern, System::IO::SearchOption searchOption);
public System.IO.FileInfo[] GetFiles(string searchPattern, System.IO.SearchOption searchOption);
member this.GetFiles : string * System.IO.SearchOption -> System.IO.FileInfo[]
Public Function GetFiles (searchPattern As String, searchOption As SearchOption) As FileInfo()

Parameters

searchPattern
String

De zoekreeks die overeenkomt met de namen van bestanden. Deze parameter kan een combinatie van geldig letterlijke tekens en jokertekens (* en ?) bevatten, maar biedt geen ondersteuning voor reguliere expressies.

searchOption
SearchOption

Een van de opsommingswaarden die aangeeft of de zoekbewerking alleen de huidige map of alle submappen moet bevatten.

Retouren

Een matrix van het type FileInfo.

Uitzonderingen

.NET Framework- en .NET Core-versies ouder dan 2.1: searchPattern bevat een of meer ongeldige tekens die zijn gedefinieerd door de methode GetInvalidPathChars().

searchPattern is null.

searchOption is geen geldige SearchOption waarde.

Het pad is ongeldig (bijvoorbeeld op een niet-toegewezen station).

De beller heeft niet de vereiste machtiging.

Voorbeelden

In het volgende voorbeeld ziet u hoe u een lijst met bestanden uit een map kunt ophalen met behulp van verschillende zoekopties. In het voorbeeld wordt uitgegaan van een map met bestanden met de naam log1.txt, log2.txt, test1.txt, test2.txt, test3.txten een submap met een bestand met de naam SubFile.txt.

using System;
using System.IO;

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

            Console.WriteLine();

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

            Console.WriteLine();

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

            Console.WriteLine();

            Console.WriteLine("Search pattern AllDirectories returns:");
            foreach (var fi in di.GetFiles("*", 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:\Users\tomfitz\Documents\ExampleDir"
printfn "No search pattern returns:"
for fi in di.GetFiles() do
    printfn $"{fi.Name}"

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

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

printfn "\nSearch pattern AllDirectories returns:"
for fi in di.GetFiles("*", 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.GetFiles()
            Console.WriteLine(fi.Name)
        Next

        Console.WriteLine()

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

        Console.WriteLine()

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

        Console.WriteLine()

        Console.WriteLine("Search pattern AllDirectories returns:")
        For Each fi In di.GetFiles("*", 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 . . .

Opmerkingen

De EnumerateFiles en GetFiles methoden verschillen als volgt:

  • Wanneer u dit gebruikt EnumerateFiles, kunt u beginnen met het inventariseren van FileInfo de verzameling objecten voordat de hele verzameling wordt geretourneerd.

  • Wanneer u deze functie gebruikt GetFiles, moet u wachten totdat de hele matrix met FileInfo objecten wordt geretourneerd voordat u toegang hebt tot de matrix.

Daarom kan het efficiënter zijn wanneer u met veel bestanden en mappen EnumerateFiles werkt.

Als er geen bestanden in de DirectoryInfotabel staan, retourneert deze methode een lege matrix.

De volgende jokertekenaanduidingen zijn toegestaan in searchPattern.

Jokerteken Description
* (sterretje) Nul of meer tekens.
? (vraagteken) Precies nul of één teken.

De volgorde van de geretourneerde bestandsnamen is niet gegarandeerd; gebruik de Sort methode als een specifieke sorteervolgorde is vereist.

Wildcards zijn toegestaan. Met de searchPattern tekenreeks '*.txt' wordt bijvoorbeeld gezocht naar alle bestandsnamen met de extensie 'txt'. De searchPattern tekenreeks 's*' zoekt naar alle bestandsnamen die beginnen met de letter 's'. Als er geen bestanden zijn of geen bestanden die overeenkomen met de searchPattern tekenreeks in de DirectoryInfotekenreeks, retourneert deze methode een lege matrix.

Note

Wanneer u het jokerteken van het sterretje in een searchPattern (bijvoorbeeld '*.txt'), het overeenkomende gedrag varieert, afhankelijk van de lengte van de opgegeven bestandsextensie. Een searchPattern met een bestandsextensie van precies drie tekens retourneert bestanden met een extensie van drie of meer tekens, waarbij de eerste drie tekens overeenkomen met de bestandsextensie die is opgegeven in de searchPattern. Een searchPattern met een bestandsextensie van één, twee of meer dan drie tekens retourneert alleen bestanden met extensies van precies die lengte die overeenkomt met de bestandsextensie die is opgegeven in de searchPattern. Wanneer u het vraagteken jokerteken gebruikt, retourneert deze methode alleen bestanden die overeenkomen met de opgegeven bestandsextensie. Bijvoorbeeld, gegeven twee bestanden in een map, "file1.txt" en "file1.txtother", een zoekpatroon van "bestand?.txt" retourneert alleen het eerste bestand, terwijl een zoekpatroon van 'bestand*.txt' beide bestanden retourneert.

In de volgende lijst ziet u het gedrag van verschillende lengten voor de searchPattern parameter:

  • *.abc retourneert bestanden met de extensie .abc, .abcd, .abcde, .abcde, .abcdef, enzovoort.

  • *.abcd retourneert alleen bestanden met de extensie .abcd.

  • *.abcde retourneert alleen bestanden met de extensie .abcde.

  • *.abcdef retourneert alleen bestanden met de extensie .abcdef.

Note

Omdat deze methode controleert op bestandsnamen met zowel de 8.3-bestandsindeling als de lange bestandsnaamindeling, kan een zoekpatroon dat vergelijkbaar is met *1*.txt" onverwachte bestandsnamen retourneren. Als u bijvoorbeeld een zoekpatroon van '*1*.txt' gebruikt, wordt 'longfilename.txt' geretourneerd omdat de equivalente 8.3-bestandsindeling 'longf~1.txt' zou zijn.

Met deze methode worden de waarden van de volgende FileInfo eigenschappen vooraf ingevuld:

  1. Attributes

  2. CreationTime

  3. CreationTimeUtc

  4. LastAccessTime

  5. LastAccessTimeUtc

  6. LastWriteTime

  7. LastWriteTimeUtc

  8. Length

Zie ook

Van toepassing op

GetFiles()

Retourneert een bestandslijst uit de huidige map.

public:
 cli::array <System::IO::FileInfo ^> ^ GetFiles();
public System.IO.FileInfo[] GetFiles();
member this.GetFiles : unit -> System.IO.FileInfo[]
Public Function GetFiles () As FileInfo()

Retouren

Een matrix van het type FileInfo.

Uitzonderingen

Het pad is ongeldig, zoals op een niet-toegewezen station.

Voorbeelden

In het volgende voorbeeld ziet u hoe u een lijst met bestanden uit een map kunt ophalen met behulp van verschillende zoekopties. In het voorbeeld wordt uitgegaan van een map met bestanden met de naam log1.txt, log2.txt, test1.txt, test2.txt, test3.txten een submap met een bestand met de naam SubFile.txt.

using System;
using System.IO;

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

            Console.WriteLine();

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

            Console.WriteLine();

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

            Console.WriteLine();

            Console.WriteLine("Search pattern AllDirectories returns:");
            foreach (var fi in di.GetFiles("*", 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:\Users\tomfitz\Documents\ExampleDir"
printfn "No search pattern returns:"
for fi in di.GetFiles() do
    printfn $"{fi.Name}"

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

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

printfn "\nSearch pattern AllDirectories returns:"
for fi in di.GetFiles("*", 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.GetFiles()
            Console.WriteLine(fi.Name)
        Next

        Console.WriteLine()

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

        Console.WriteLine()

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

        Console.WriteLine()

        Console.WriteLine("Search pattern AllDirectories returns:")
        For Each fi In di.GetFiles("*", 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 . . .

Opmerkingen

De EnumerateFiles en GetFiles methoden verschillen als volgt:

  • Wanneer u dit gebruikt EnumerateFiles, kunt u beginnen met het inventariseren van FileInfo de verzameling objecten voordat de hele verzameling wordt geretourneerd.

  • Wanneer u deze functie gebruikt GetFiles, moet u wachten totdat de hele matrix met FileInfo objecten wordt geretourneerd voordat u toegang hebt tot de matrix.

Daarom kan het efficiënter zijn wanneer u met veel bestanden en mappen EnumerateFiles werkt.

Als er geen bestanden in de DirectoryInfotabel staan, retourneert deze methode een lege matrix.

De volgorde van de geretourneerde bestandsnamen is niet gegarandeerd; gebruik de Sort methode als een specifieke sorteervolgorde is vereist.

Met deze methode worden de waarden van de volgende FileInfo eigenschappen vooraf ingevuld:

Zie ook

Van toepassing op

GetFiles(String)

Retourneert een bestandslijst uit de huidige map die overeenkomt met het opgegeven zoekpatroon.

public:
 cli::array <System::IO::FileInfo ^> ^ GetFiles(System::String ^ searchPattern);
public System.IO.FileInfo[] GetFiles(string searchPattern);
member this.GetFiles : string -> System.IO.FileInfo[]
Public Function GetFiles (searchPattern As String) As FileInfo()

Parameters

searchPattern
String

De zoekreeks die overeenkomt met de namen van bestanden. Deze parameter kan een combinatie van geldig letterlijke tekens en jokertekens (* en ?) bevatten, maar biedt geen ondersteuning voor reguliere expressies.

Retouren

Een matrix van het type FileInfo.

Uitzonderingen

.NET Framework- en .NET Core-versies ouder dan 2.1: searchPattern bevat een of meer ongeldige tekens die zijn gedefinieerd door de methode GetInvalidPathChars().

searchPattern is null.

Het pad is ongeldig (bijvoorbeeld op een niet-toegewezen station).

De beller heeft niet de vereiste machtiging.

Voorbeelden

In het volgende voorbeeld ziet u hoe u een lijst met bestanden uit een map kunt ophalen met behulp van verschillende zoekopties. In het voorbeeld wordt uitgegaan van een map met bestanden met de naam log1.txt, log2.txt, test1.txt, test2.txt, test3.txten een submap met een bestand met de naam SubFile.txt.

using System;
using System.IO;

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

            Console.WriteLine();

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

            Console.WriteLine();

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

            Console.WriteLine();

            Console.WriteLine("Search pattern AllDirectories returns:");
            foreach (var fi in di.GetFiles("*", 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:\Users\tomfitz\Documents\ExampleDir"
printfn "No search pattern returns:"
for fi in di.GetFiles() do
    printfn $"{fi.Name}"

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

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

printfn "\nSearch pattern AllDirectories returns:"
for fi in di.GetFiles("*", 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.GetFiles()
            Console.WriteLine(fi.Name)
        Next

        Console.WriteLine()

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

        Console.WriteLine()

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

        Console.WriteLine()

        Console.WriteLine("Search pattern AllDirectories returns:")
        For Each fi In di.GetFiles("*", 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 . . .

Opmerkingen

searchPattern kan een combinatie zijn van letterlijke tekens en jokertekens, maar biedt geen ondersteuning voor reguliere expressies. De volgende jokertekenaanduidingen zijn toegestaan in searchPattern.

Jokertekenaanduiding Overeenkomsten
* (sterretje) Nul of meer tekens op die positie.
? (vraagteken) Nul of één teken op die positie.

Andere tekens dan het jokerteken zijn letterlijke tekens. Met de tekenreeks '*t' wordt bijvoorbeeld gezocht naar alle namen die eindigen op de letter 't'. De searchPattern tekenreeks 's*' zoekt naar alle namen in path het begin met de letter 's'.

De EnumerateFiles en GetFiles methoden verschillen als volgt:

  • Wanneer u dit gebruikt EnumerateFiles, kunt u beginnen met het inventariseren van FileInfo de verzameling objecten voordat de hele verzameling wordt geretourneerd.

  • Wanneer u deze functie gebruikt GetFiles, moet u wachten totdat de hele matrix met FileInfo objecten wordt geretourneerd voordat u toegang hebt tot de matrix.

Daarom kan het efficiënter zijn wanneer u met veel bestanden en mappen EnumerateFiles werkt.

Als er geen bestanden in de DirectoryInfotabel staan, retourneert deze methode een lege matrix.

De volgende jokertekenaanduidingen zijn toegestaan in de searchPattern parameter.

Jokerteken Description
* Nul of meer tekens.
? Precies nul of één teken.

De volgorde van de geretourneerde bestandsnamen is niet gegarandeerd; gebruik de Sort methode als een specifieke sorteervolgorde is vereist.

Wildcards zijn toegestaan. Met de searchPattern tekenreeks '*.txt' wordt bijvoorbeeld gezocht naar alle bestandsnamen met de extensie 'txt'. De searchPattern tekenreeks 's*' zoekt naar alle bestandsnamen die beginnen met de letter 's'. Als er geen bestanden zijn of geen bestanden die overeenkomen met de searchPattern tekenreeks in de DirectoryInfotekenreeks, retourneert deze methode een lege matrix.

Note

Wanneer u het jokerteken van het sterretje in een searchPattern (bijvoorbeeld '*.txt'), het overeenkomende gedrag varieert, afhankelijk van de lengte van de opgegeven bestandsextensie. Een searchPattern met een bestandsextensie van precies drie tekens retourneert bestanden met een extensie van drie of meer tekens, waarbij de eerste drie tekens overeenkomen met de bestandsextensie die is opgegeven in de searchPattern. Een searchPattern met een bestandsextensie van één, twee of meer dan drie tekens retourneert alleen bestanden met extensies van precies die lengte die overeenkomt met de bestandsextensie die is opgegeven in de searchPattern. Wanneer u het vraagteken jokerteken gebruikt, retourneert deze methode alleen bestanden die overeenkomen met de opgegeven bestandsextensie. Bijvoorbeeld, gegeven twee bestanden in een map, "file1.txt" en "file1.txtother", een zoekpatroon van "bestand?.txt" retourneert alleen het eerste bestand, terwijl een zoekpatroon van 'bestand*.txt' beide bestanden retourneert.

Note

Omdat deze methode controleert op bestandsnamen met zowel de 8.3-bestandsindeling als de lange bestandsnaamindeling, kan een zoekpatroon dat vergelijkbaar is met *1*.txt" onverwachte bestandsnamen retourneren. Als u bijvoorbeeld een zoekpatroon van '*1*.txt' gebruikt, wordt 'longfilename.txt' geretourneerd omdat de equivalente 8.3-bestandsindeling 'longf~1.txt' zou zijn.

Met deze methode worden de waarden van de volgende FileInfo eigenschappen vooraf ingevuld:

Zie ook

Van toepassing op