DirectoryInfo.GetFiles Metoda

Definice

Vrátí seznam souborů z aktuálního adresáře.

Přetížení

Name Description
GetFiles(String, EnumerationOptions)

Vrátí seznam souborů z aktuálního adresáře odpovídající zadanému vzoru hledání a možnostem výčtu.

GetFiles(String, SearchOption)

Vrátí seznam souborů z aktuálního adresáře odpovídající zadanému vzoru hledání a pomocí hodnoty určí, jestli se mají hledat podadresáře.

GetFiles()

Vrátí seznam souborů z aktuálního adresáře.

GetFiles(String)

Vrátí seznam souborů z aktuálního adresáře odpovídající zadanému vzoru hledání.

GetFiles(String, EnumerationOptions)

Zdroj:
DirectoryInfo.cs
Zdroj:
DirectoryInfo.cs
Zdroj:
DirectoryInfo.cs
Zdroj:
DirectoryInfo.cs
Zdroj:
DirectoryInfo.cs

Vrátí seznam souborů z aktuálního adresáře odpovídající zadanému vzoru hledání a možnostem výčtu.

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

Parametry

searchPattern
String

Hledaný řetězec, který se má shodovat s názvy souborů. Tento parametr může obsahovat kombinaci platných znaků literálu a zástupných znaků (* a ?), ale nepodporuje regulární výrazy.

enumerationOptions
EnumerationOptions

Objekt, který popisuje konfiguraci vyhledávání a výčtu, která se má použít.

Návraty

Pole objektů silného typu FileInfo , které odpovídají searchPattern a enumerationOptions.

Výjimky

Verze .NET Framework a .NET Core starší než 2.1: searchPattern obsahuje jeden nebo více neplatných znaků definovaných metodou GetInvalidPathChars() .

searchPattern je null.

Cesta je neplatná (například je na nemapované jednotce).

Volající nemá požadované oprávnění.

Poznámky

searchPattern může být kombinací literálů a zástupných znaků, ale nepodporuje regulární výrazy. Následující specifikátory zástupných znaků jsou povoleny v searchPattern.

Specifikátor zástupných znaků Shody
* (hvězdička) V této pozici je nula nebo více znaků.
? (otazník) V této pozici je nula nebo jeden znak.

Jiné znaky než zástupné znaky jsou literální znaky. Například řetězec "*t" vyhledá všechny názvy končící písmenem "t". Řetězec searchPattern "s*" vyhledá všechny názvy začínající path písmenem "s".

Tyto metody EnumerateFiles a GetFiles se liší následujícím způsobem:

  • Při použití EnumerateFilesmůžete zahájit výčet kolekce FileInfo objektů před vrácením celé kolekce.

  • Při použití GetFilesmusíte počkat na vrácení celého pole FileInfo objektů, než budete mít přístup k poli.

Proto při práci s mnoha soubory a adresáři EnumerateFiles může být efektivnější.

Pokud v souboru DirectoryInfonejsou žádné soubory, vrátí tato metoda prázdné pole.

V parametru searchPattern jsou povoleny následující specifikátory zástupných znaků.

Divoká karta Description
* Nula nebo více znaků.
? Přesně nula nebo jeden znak.

Pořadí vrácených názvů souborů není zaručeno; použijte metodu Sort , pokud je požadováno konkrétní pořadí řazení.

Jsou povoleny zástupné symboly. Například searchPattern řetězec "*.txt" vyhledá všechny názvy souborů s příponou "txt". Řetězec searchPattern "s*" vyhledá všechny názvy souborů začínající písmenem "s". Pokud neexistují žádné soubory nebo žádné soubory, které odpovídají řetězci searchPattern v , DirectoryInfotato metoda vrátí prázdné pole.

Note

Při použití zástupného znaku hvězdičky v znaku searchPattern (například "*.txt"), se odpovídající chování liší v závislosti na délce zadané přípony souboru. A searchPattern s příponou souboru s přesně třemi znaky vrátí soubory s příponou tří nebo více znaků, kde první tři znaky odpovídají příponě souboru zadané v sadě searchPattern. A searchPattern s příponou jednoho, dvou nebo více než tří znaků vrátí pouze soubory s příponou přesně této délky, které odpovídají příponě souboru zadané v searchPatternsouboru . Při použití zástupné znaky otazníku vrátí tato metoda pouze soubory, které odpovídají zadané příponě souboru. Například dva soubory v adresáři, "file1.txt" a "file1.txtother", vzor hledání "soubor?.txt" vrátí pouze první soubor, zatímco hledaný vzor "file*.txt" vrátí oba soubory.

Note

Vzhledem k tomu, že tato metoda kontroluje názvy souborů s formátem názvu souboru 8.3 i formátem dlouhého názvu souboru, může vzor hledání podobný "*1*.txt" vrátit neočekávané názvy souborů. Například použití vyhledávacího vzoru "*1*.txt" vrátí "longfilename.txt", protože ekvivalentní formát názvu souboru 8,3 by byl "longf~1.txt".

Tato metoda předem naplní hodnoty následujících FileInfo vlastností:

Platí pro

GetFiles(String, SearchOption)

Zdroj:
DirectoryInfo.cs
Zdroj:
DirectoryInfo.cs
Zdroj:
DirectoryInfo.cs
Zdroj:
DirectoryInfo.cs
Zdroj:
DirectoryInfo.cs

Vrátí seznam souborů z aktuálního adresáře odpovídající zadanému vzoru hledání a pomocí hodnoty určí, jestli se mají hledat podadresáře.

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

Parametry

searchPattern
String

Hledaný řetězec, který se má shodovat s názvy souborů. Tento parametr může obsahovat kombinaci platných znaků literálu a zástupných znaků (* a ?), ale nepodporuje regulární výrazy.

searchOption
SearchOption

Jedna z hodnot výčtu, která určuje, zda by operace hledání měla obsahovat pouze aktuální adresář nebo všechny podadresáře.

Návraty

Pole typu FileInfo.

Výjimky

Verze .NET Framework a .NET Core starší než 2.1: searchPattern obsahuje jeden nebo více neplatných znaků definovaných metodou GetInvalidPathChars() .

searchPattern je null.

searchOption není platná SearchOption hodnota.

Cesta je neplatná (například je na nemapované jednotce).

Volající nemá požadované oprávnění.

Příklady

Následující příklad ukazuje, jak získat seznam souborů z adresáře pomocí různých možností hledání. Příklad předpokládá adresář, který obsahuje soubory s názvem log1.txt, log2.txt, test1.txt, test2.txt, test3.txta podadresářem, který má soubor s názvem 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 . . .

Poznámky

Tyto metody EnumerateFiles a GetFiles se liší následujícím způsobem:

  • Při použití EnumerateFilesmůžete zahájit výčet kolekce FileInfo objektů před vrácením celé kolekce.

  • Při použití GetFilesmusíte počkat na vrácení celého pole FileInfo objektů, než budete mít přístup k poli.

Proto při práci s mnoha soubory a adresáři EnumerateFiles může být efektivnější.

Pokud v souboru DirectoryInfonejsou žádné soubory, vrátí tato metoda prázdné pole.

Následující specifikátory zástupných znaků jsou povoleny v searchPattern.

Divoká karta Description
* (hvězdička) Nula nebo více znaků.
? (otazník) Přesně nula nebo jeden znak.

Pořadí vrácených názvů souborů není zaručeno; použijte metodu Sort , pokud je požadováno konkrétní pořadí řazení.

Jsou povoleny zástupné symboly. Například searchPattern řetězec "*.txt" vyhledá všechny názvy souborů s příponou "txt". Řetězec searchPattern "s*" vyhledá všechny názvy souborů začínající písmenem "s". Pokud neexistují žádné soubory nebo žádné soubory, které odpovídají řetězci searchPattern v , DirectoryInfotato metoda vrátí prázdné pole.

Note

Při použití zástupného znaku hvězdičky v znaku searchPattern (například "*.txt"), se odpovídající chování liší v závislosti na délce zadané přípony souboru. A searchPattern s příponou souboru s přesně třemi znaky vrátí soubory s příponou tří nebo více znaků, kde první tři znaky odpovídají příponě souboru zadané v sadě searchPattern. A searchPattern s příponou jednoho, dvou nebo více než tří znaků vrátí pouze soubory s příponou přesně této délky, které odpovídají příponě souboru zadané v searchPatternsouboru . Při použití zástupné znaky otazníku vrátí tato metoda pouze soubory, které odpovídají zadané příponě souboru. Například dva soubory v adresáři, "file1.txt" a "file1.txtother", vzor hledání "soubor?.txt" vrátí pouze první soubor, zatímco hledaný vzor "file*.txt" vrátí oba soubory.

Následující seznam ukazuje chování různých délek parametru searchPattern :

  • "*.abc" vrátí soubory s příponou .abcd, .abcd, .abcdef atd.

  • "*.abcd" vrátí pouze soubory s příponou .abcd.

  • "*.abcde" vrátí pouze soubory s příponou .abcde.

  • Výraz *.abcdef vrátí pouze soubory s příponou .abcdef.

Note

Vzhledem k tomu, že tato metoda kontroluje názvy souborů s formátem názvu souboru 8.3 i formátem dlouhého názvu souboru, může vzor hledání podobný "*1*.txt" vrátit neočekávané názvy souborů. Například použití vyhledávacího vzoru "*1*.txt" vrátí "longfilename.txt", protože ekvivalentní formát názvu souboru 8,3 by byl "longf~1.txt".

Tato metoda předem naplní hodnoty následujících FileInfo vlastností:

  1. Attributes

  2. CreationTime

  3. CreationTimeUtc

  4. LastAccessTime

  5. LastAccessTimeUtc

  6. LastWriteTime

  7. LastWriteTimeUtc

  8. Length

Viz také

Platí pro

GetFiles()

Zdroj:
DirectoryInfo.cs
Zdroj:
DirectoryInfo.cs
Zdroj:
DirectoryInfo.cs
Zdroj:
DirectoryInfo.cs
Zdroj:
DirectoryInfo.cs

Vrátí seznam souborů z aktuálního adresáře.

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

Návraty

Pole typu FileInfo.

Výjimky

Cesta je neplatná, například že je na nemapované jednotce.

Příklady

Následující příklad ukazuje, jak získat seznam souborů z adresáře pomocí různých možností hledání. Příklad předpokládá adresář, který obsahuje soubory s názvem log1.txt, log2.txt, test1.txt, test2.txt, test3.txta podadresářem, který má soubor s názvem 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 . . .

Poznámky

Tyto metody EnumerateFiles a GetFiles se liší následujícím způsobem:

  • Při použití EnumerateFilesmůžete zahájit výčet kolekce FileInfo objektů před vrácením celé kolekce.

  • Při použití GetFilesmusíte počkat na vrácení celého pole FileInfo objektů, než budete mít přístup k poli.

Proto při práci s mnoha soubory a adresáři EnumerateFiles může být efektivnější.

Pokud v souboru DirectoryInfonejsou žádné soubory, vrátí tato metoda prázdné pole.

Pořadí vrácených názvů souborů není zaručeno; použijte metodu Sort , pokud je požadováno konkrétní pořadí řazení.

Tato metoda předem naplní hodnoty následujících FileInfo vlastností:

Viz také

Platí pro

GetFiles(String)

Zdroj:
DirectoryInfo.cs
Zdroj:
DirectoryInfo.cs
Zdroj:
DirectoryInfo.cs
Zdroj:
DirectoryInfo.cs
Zdroj:
DirectoryInfo.cs

Vrátí seznam souborů z aktuálního adresáře odpovídající zadanému vzoru hledání.

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

Parametry

searchPattern
String

Hledaný řetězec, který se má shodovat s názvy souborů. Tento parametr může obsahovat kombinaci platných znaků literálu a zástupných znaků (* a ?), ale nepodporuje regulární výrazy.

Návraty

Pole typu FileInfo.

Výjimky

Verze .NET Framework a .NET Core starší než 2.1: searchPattern obsahuje jeden nebo více neplatných znaků definovaných metodou GetInvalidPathChars() .

searchPattern je null.

Cesta je neplatná (například je na nemapované jednotce).

Volající nemá požadované oprávnění.

Příklady

Následující příklad ukazuje, jak získat seznam souborů z adresáře pomocí různých možností hledání. Příklad předpokládá adresář, který obsahuje soubory s názvem log1.txt, log2.txt, test1.txt, test2.txt, test3.txta podadresářem, který má soubor s názvem 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 . . .

Poznámky

searchPattern může být kombinací literálů a zástupných znaků, ale nepodporuje regulární výrazy. Následující specifikátory zástupných znaků jsou povoleny v searchPattern.

Specifikátor zástupných znaků Shody
* (hvězdička) V této pozici je nula nebo více znaků.
? (otazník) V této pozici je nula nebo jeden znak.

Jiné znaky než zástupné znaky jsou literální znaky. Například řetězec "*t" vyhledá všechny názvy končící písmenem "t". Řetězec searchPattern "s*" vyhledá všechny názvy začínající path písmenem "s".

Tyto metody EnumerateFiles a GetFiles se liší následujícím způsobem:

  • Při použití EnumerateFilesmůžete zahájit výčet kolekce FileInfo objektů před vrácením celé kolekce.

  • Při použití GetFilesmusíte počkat na vrácení celého pole FileInfo objektů, než budete mít přístup k poli.

Proto při práci s mnoha soubory a adresáři EnumerateFiles může být efektivnější.

Pokud v souboru DirectoryInfonejsou žádné soubory, vrátí tato metoda prázdné pole.

V parametru searchPattern jsou povoleny následující specifikátory zástupných znaků.

Divoká karta Description
* Nula nebo více znaků.
? Přesně nula nebo jeden znak.

Pořadí vrácených názvů souborů není zaručeno; použijte metodu Sort , pokud je požadováno konkrétní pořadí řazení.

Jsou povoleny zástupné symboly. Například searchPattern řetězec "*.txt" vyhledá všechny názvy souborů s příponou "txt". Řetězec searchPattern "s*" vyhledá všechny názvy souborů začínající písmenem "s". Pokud neexistují žádné soubory nebo žádné soubory, které odpovídají řetězci searchPattern v , DirectoryInfotato metoda vrátí prázdné pole.

Note

Při použití zástupného znaku hvězdičky v znaku searchPattern (například "*.txt"), se odpovídající chování liší v závislosti na délce zadané přípony souboru. A searchPattern s příponou souboru s přesně třemi znaky vrátí soubory s příponou tří nebo více znaků, kde první tři znaky odpovídají příponě souboru zadané v sadě searchPattern. A searchPattern s příponou jednoho, dvou nebo více než tří znaků vrátí pouze soubory s příponou přesně této délky, které odpovídají příponě souboru zadané v searchPatternsouboru . Při použití zástupné znaky otazníku vrátí tato metoda pouze soubory, které odpovídají zadané příponě souboru. Například dva soubory v adresáři, "file1.txt" a "file1.txtother", vzor hledání "soubor?.txt" vrátí pouze první soubor, zatímco hledaný vzor "file*.txt" vrátí oba soubory.

Note

Vzhledem k tomu, že tato metoda kontroluje názvy souborů s formátem názvu souboru 8.3 i formátem dlouhého názvu souboru, může vzor hledání podobný "*1*.txt" vrátit neočekávané názvy souborů. Například použití vyhledávacího vzoru "*1*.txt" vrátí "longfilename.txt", protože ekvivalentní formát názvu souboru 8,3 by byl "longf~1.txt".

Tato metoda předem naplní hodnoty následujících FileInfo vlastností:

Viz také

Platí pro