DirectoryInfo.GetFiles Methode

Definition

Gibt eine Dateiliste des aktuellen Verzeichnisses zurück.Returns a file list from the current directory.

Überlädt

GetFiles(String, EnumerationOptions)
GetFiles(String, SearchOption)

Gibt eine Dateiliste des aktuellen Verzeichnisses zurück, das dem angegebenen Suchmuster entspricht. Anhand eines Werts wird bestimmt, ob in Unterverzeichnissen gesucht wird.Returns a file list from the current directory matching the given search pattern and using a value to determine whether to search subdirectories.

GetFiles()

Gibt eine Dateiliste des aktuellen Verzeichnisses zurück.Returns a file list from the current directory.

GetFiles(String)

Gibt eine Dateiliste des aktuellen Verzeichnisses zurück, das dem angegebenen Suchmuster entspricht.Returns a file list from the current directory matching the given search pattern.

GetFiles(String, EnumerationOptions)

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[]

Parameter

searchPattern
String
enumerationOptions
EnumerationOptions

Gibt zurück

GetFiles(String, SearchOption)

Gibt eine Dateiliste des aktuellen Verzeichnisses zurück, das dem angegebenen Suchmuster entspricht. Anhand eines Werts wird bestimmt, ob in Unterverzeichnissen gesucht wird.Returns a file list from the current directory matching the given search pattern and using a value to determine whether to search subdirectories.

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[]

Parameter

searchPattern
String

Die Suchzeichenfolge für die Überprüfung der Namen von Dateien auf Übereinstimmungen.The search string to match against the names of files. Dieser Parameter kann eine Kombination aus gültigen Literalpfad- und Platzhalterzeichen (* und ?) enthalten, unterstützt jedoch keine regulären Ausdrücke.This parameter can contain a combination of valid literal path and wildcard (* and ?) characters, but it doesn't support regular expressions.

searchOption
SearchOption

Einer der Enumerationswerte, der angibt, ob nur das aktuelle Verzeichnis oder auch alle Unterverzeichnisse durchsucht werden sollen.One of the enumeration values that specifies whether the search operation should include only the current directory or all subdirectories.

Gibt zurück

Ein Array vom Typ FileInfo.An array of type FileInfo.

Ausnahmen

searchPattern enthält mindestens ein ungültiges Zeichen gemäß der Definition der GetInvalidPathChars()-Methode.searchPattern contains one or more invalid characters defined by the GetInvalidPathChars() method.

searchPattern ist null.searchPattern is null.

searchOption ist kein gültiger SearchOption-Wert.searchOption is not a valid SearchOption value.

Der Pfad ist ungültig (z. B. befindet er sich auf einem nicht zugeordneten Laufwerk).The path is invalid (for example, it is on an unmapped drive).

Der Aufrufer verfügt nicht über die erforderliche Berechtigung.The caller does not have the required permission.

Beispiele

Im folgenden Beispiel wird gezeigt, wie Sie eine Liste von Dateien aus einem Verzeichnis mithilfe verschiedener Suchoptionen erhalten.The following example shows how to get a list of files from a directory by using different search options. Im Beispiel wird davon ausgegangen, dass ein Verzeichnis mit Dateien namens log1. txt, log2. txt, test1. txt, test2. txt, "test3". txt und ein Unterverzeichnis mit der Datei "subfile. txt" enthält.The example assumes a directory that has files named log1.txt, log2.txt, test1.txt, test2.txt, test3.txt, and a subdirectory that has a file named 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 . . .

*/
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 . . .

Hinweise

Die EnumerateFiles Methoden GetFiles und unterscheiden sich wie folgt:The EnumerateFiles and GetFiles methods differ as follows:

  • Wenn Sie verwenden EnumerateFiles, können Sie mit dem Auflisten der Auflistung von FileInfo -Objekten beginnen, bevor die gesamte Auflistung zurückgegeben wird.When you use EnumerateFiles, you can start enumerating the collection of FileInfo objects before the whole collection is returned.

  • Wenn Sie verwenden GetFiles, müssen Sie warten, bis das gesamte Array FileInfo von-Objekten zurückgegeben wird, bevor Sie auf das Array zugreifen können.When you use GetFiles, you must wait for the whole array of FileInfo objects to be returned before you can access the array.

Wenn Sie also mit vielen Dateien und Verzeichnissen arbeiten, EnumerateFiles kann effizienter sein.Therefore, when you are working with many files and directories, EnumerateFiles can be more efficient.

Wenn keine Dateien in DirectoryInfovorhanden sind, gibt diese Methode ein leeres Array zurück.If there are no files in the DirectoryInfo, this method returns an empty array.

Die folgenden Platzhalter spezifiatoren sind in searchPatternzulässig.The following wildcard specifiers are permitted in searchPattern.

Platzhalter ZeichenWildcard character BeschreibungDescription
* (Sternchen)* (asterisk) NULL oder mehr Zeichen.Zero or more characters.
?? (Fragezeichen)(question mark) Genau null oder ein Zeichen.Exactly zero or one character.

Die Reihenfolge der zurückgegebenen Dateinamen ist nicht garantiert. Verwenden Sie Sort die-Methode, wenn eine bestimmte Sortierreihenfolge erforderlich ist.The order of the returned file names is not guaranteed; use the Sort method if a specific sort order is required.

Platzhalter sind zulässig.Wildcards are permitted. Die searchPattern Zeichenfolge "*. txt" sucht z. b. nach allen Dateinamen, die die Erweiterung "txt" aufweisen.For example, the searchPattern string "*.txt" searches for all file names having an extension of "txt". Die searchPattern Zeichenfolge "*s" sucht nach allen Dateinamen, die mit dem Buchstaben "s" beginnen.The searchPattern string "s*" searches for all file names beginning with the letter "s". Wenn keine Dateien vorhanden sind oder keine Dateien vorhanden sind, die searchPattern der Zeichenfolge DirectoryInfoin entsprechen, gibt diese Methode ein leeres Array zurück.If there are no files, or no files that match the searchPattern string in the DirectoryInfo, this method returns an empty array.

Hinweis

Wenn Sie das Platzhalter Zeichen Sternchen in searchPattern einem verwenden (z. b. "*. txt"), variiert das übereinstimmende Verhalten in Abhängigkeit von der Länge der angegebenen Dateierweiterung.When using the asterisk wildcard character in a searchPattern (for example, "*.txt"), the matching behavior varies depending on the length of the specified file extension. Ein searchPattern mit einer Dateierweiterung von genau drei Zeichen gibt Dateien mit einer Erweiterung von drei oder mehr Zeichen zurück, wobei die ersten drei Zeichen der in der searchPatternangegebenen Dateierweiterung entsprechen.A searchPattern with a file extension of exactly three characters returns files with an extension of three or more characters, where the first three characters match the file extension specified in the searchPattern. Ein searchPattern mit einer Dateierweiterung von einem, zwei oder mehr als drei Zeichen gibt nur Dateien mit der Erweiterung genau dieser Länge zurück, die mit der in der searchPatternangegebenen Dateierweiterung übereinstimmen.A searchPattern with a file extension of one, two, or more than three characters returns only files with extensions of exactly that length that match the file extension specified in the searchPattern. Wenn Sie das Fragezeichen-Platzhalter Zeichen verwenden, gibt diese Methode nur die Dateien zurück, die der angegebenen Dateierweiterung entsprechen.When using the question mark wildcard character, this method returns only files that match the specified file extension. Angenommen, es gibt zwei Dateien in einem Verzeichnis: "file1. txt" und "file1. txtother", das Suchmuster "file?". txt "gibt nur die erste Datei zurück, während ein Suchmuster von"*file. txt "beide Dateien zurückgibt.For example, given two files in a directory, "file1.txt" and "file1.txtother", a search pattern of "file?.txt" returns only the first file, while a search pattern of "file*.txt" returns both files.

In der folgenden Liste ist das Verhalten der unterschiedlichen Längen searchPattern für den Parameter dargestellt:The following list shows the behavior of different lengths for the searchPattern parameter:

  • "*. ABC" gibt Dateien mit der Erweiterung ". ABC", ". abcd", ". abcde", ". abcdef" usw. zurück."*.abc" returns files having an extension of.abc,.abcd,.abcde,.abcdef, and so on.

  • "*. abcd" gibt nur Dateien mit der Erweiterung ". abcd" zurück."*.abcd" returns only files having an extension of.abcd.

  • "*. abcde" gibt nur Dateien mit der Erweiterung ". abcde" zurück."*.abcde" returns only files having an extension of.abcde.

  • "*. abcdef" gibt nur Dateien mit der Erweiterung ". abcdef" zurück."*.abcdef" returns only files having an extension of.abcdef.

Hinweis

Da diese Methode Dateinamen sowohl mit dem Dateinamen Format 8,3 als auch mit dem langen Dateinamen Format überprüft, gibt ein Suchmuster, das "** 1. txt" ähnelt, möglicherweise unerwartete Dateinamen zurück.Because this method checks against file names with both the 8.3 file name format and the long file name format, a search pattern similar to "*1*.txt" may return unexpected file names. Wenn Sie z. b. ein Suchmuster*von*"1. txt" verwenden, wird "longfilename. txt" zurückgegeben, da das entsprechende Format für den 8,3-Dateinamen "longf ~ 1. txt" lauten würde.For example, using a search pattern of "*1*.txt" will return "longfilename.txt" because the equivalent 8.3 file name format would be "longf~1.txt".

Diese Methode füllt vorab die Werte der folgenden FileInfo Eigenschaften auf:This method pre-populates the values of the following FileInfo properties:

  1. Attributes

  2. CreationTime

  3. CreationTimeUtc

  4. LastAccessTime

  5. LastAccessTimeUtc

  6. LastWriteTime

  7. LastWriteTimeUtc

  8. Length

Sicherheit

FileIOPermission
für den Zugriff auf den Pfad und zum Lesen aus Dateien und Verzeichnissen.for access to the path and for reading from files and directories. Zugehörige Enumerationen Read:,PathDiscoveryAssociated enumerations: Read, PathDiscovery

Siehe auch

GetFiles()

Gibt eine Dateiliste des aktuellen Verzeichnisses zurück.Returns a file list from the current directory.

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

Gibt zurück

Ein Array vom Typ FileInfo.An array of type FileInfo.

Ausnahmen

Der Pfad ist ungültig. Dies ist z. B. der Fall, wenn das Laufwerk des Pfads nicht zugeordnet ist.The path is invalid, such as being on an unmapped drive.

Beispiele

Im folgenden Beispiel wird gezeigt, wie Sie eine Liste von Dateien aus einem Verzeichnis mithilfe verschiedener Suchoptionen erhalten.The following example shows how to get a list of files from a directory by using different search options. Im Beispiel wird davon ausgegangen, dass ein Verzeichnis mit Dateien namens log1. txt, log2. txt, test1. txt, test2. txt, "test3". txt und ein Unterverzeichnis mit der Datei "subfile. txt" enthält.The example assumes a directory that has files named log1.txt, log2.txt, test1.txt, test2.txt, test3.txt, and a subdirectory that has a file named 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 . . .

*/
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 . . .

Hinweise

Die EnumerateFiles Methoden GetFiles und unterscheiden sich wie folgt:The EnumerateFiles and GetFiles methods differ as follows:

  • Wenn Sie verwenden EnumerateFiles, können Sie mit dem Auflisten der Auflistung von FileInfo -Objekten beginnen, bevor die gesamte Auflistung zurückgegeben wird.When you use EnumerateFiles, you can start enumerating the collection of FileInfo objects before the whole collection is returned.

  • Wenn Sie verwenden GetFiles, müssen Sie warten, bis das gesamte Array FileInfo von-Objekten zurückgegeben wird, bevor Sie auf das Array zugreifen können.When you use GetFiles, you must wait for the whole array of FileInfo objects to be returned before you can access the array.

Wenn Sie also mit vielen Dateien und Verzeichnissen arbeiten, EnumerateFiles kann effizienter sein.Therefore, when you are working with many files and directories, EnumerateFiles can be more efficient.

Wenn keine Dateien in DirectoryInfovorhanden sind, gibt diese Methode ein leeres Array zurück.If there are no files in the DirectoryInfo, this method returns an empty array.

Die Reihenfolge der zurückgegebenen Dateinamen ist nicht garantiert. Verwenden Sie Sort die-Methode, wenn eine bestimmte Sortierreihenfolge erforderlich ist.The order of the returned file names is not guaranteed; use the Sort method if a specific sort order is required.

Diese Methode füllt vorab die Werte der folgenden FileInfo Eigenschaften auf:This method pre-populates the values of the following FileInfo properties:

Sicherheit

FileIOPermission
zum Lesen von Verzeichnissen.for reading directories. Zugehörige Enumeration:ReadAssociated enumeration: Read

Siehe auch

GetFiles(String)

Gibt eine Dateiliste des aktuellen Verzeichnisses zurück, das dem angegebenen Suchmuster entspricht.Returns a file list from the current directory matching the given search pattern.

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

Parameter

searchPattern
String

Die Suchzeichenfolge für die Überprüfung der Namen von Dateien auf Übereinstimmungen.The search string to match against the names of files. Dieser Parameter kann eine Kombination aus gültigen Literalpfad- und Platzhalterzeichen (* und ?) enthalten, unterstützt jedoch keine regulären Ausdrücke.This parameter can contain a combination of valid literal path and wildcard (* and ?) characters, but it doesn't support regular expressions.

Gibt zurück

Ein Array vom Typ FileInfo.An array of type FileInfo.

Ausnahmen

searchPattern enthält mindestens ein ungültiges Zeichen gemäß der Definition der GetInvalidPathChars()-Methode.searchPattern contains one or more invalid characters defined by the GetInvalidPathChars() method.

searchPattern ist null.searchPattern is null.

Der Pfad ist ungültig (z. B. befindet er sich auf einem nicht zugeordneten Laufwerk).The path is invalid (for example, it is on an unmapped drive).

Der Aufrufer verfügt nicht über die erforderliche Berechtigung.The caller does not have the required permission.

Beispiele

Im folgenden Beispiel wird gezeigt, wie Sie eine Liste von Dateien aus einem Verzeichnis mithilfe verschiedener Suchoptionen erhalten.The following example shows how to get a list of files from a directory by using different search options. Im Beispiel wird davon ausgegangen, dass ein Verzeichnis mit Dateien namens log1. txt, log2. txt, test1. txt, test2. txt, "test3". txt und ein Unterverzeichnis mit der Datei "subfile. txt" enthält.The example assumes a directory that has files named log1.txt, log2.txt, test1.txt, test2.txt, test3.txt, and a subdirectory that has a file named 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 . . .

*/
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 . . .

Hinweise

searchPattern kann eine Kombination von Literal-und Platzhalterzeichen, jedoch werden reguläre Ausdrücke nicht unterstützt.searchPattern can be a combination of literal and wildcard characters, but it doesn't support regular expressions. Die folgenden Platzhalter spezifiatoren sind in searchPatternzulässig.The following wildcard specifiers are permitted in searchPattern.

Platzhalter BezeichnerWildcard specifier ÜbereinstimmungenMatches
* (Sternchen)* (asterisk) NULL oder mehr Zeichen an dieser Position.Zero or more characters in that position.
?? (Fragezeichen)(question mark) NULL oder ein Zeichen an dieser Position.Zero or one character in that position.

Andere Zeichen als der Platzhalter sind Literalzeichen.Characters other than the wildcard are literal characters. Beispielsweise sucht die Zeichenfolge "* t" nach allen Namen, die mit dem Buchstaben "t" enden.For example, the string "*t" searches for all names in ending with the letter "t". Die searchPattern Zeichenfolge "*s" path sucht nach allen Namen, die mit dem Buchstaben "s" beginnen.The searchPattern string "s*" searches for all names in path beginning with the letter "s".

Die EnumerateFiles Methoden GetFiles und unterscheiden sich wie folgt:The EnumerateFiles and GetFiles methods differ as follows:

  • Wenn Sie verwenden EnumerateFiles, können Sie mit dem Auflisten der Auflistung von FileInfo -Objekten beginnen, bevor die gesamte Auflistung zurückgegeben wird.When you use EnumerateFiles, you can start enumerating the collection of FileInfo objects before the whole collection is returned.

  • Wenn Sie verwenden GetFiles, müssen Sie warten, bis das gesamte Array FileInfo von-Objekten zurückgegeben wird, bevor Sie auf das Array zugreifen können.When you use GetFiles, you must wait for the whole array of FileInfo objects to be returned before you can access the array.

Wenn Sie also mit vielen Dateien und Verzeichnissen arbeiten, EnumerateFiles kann effizienter sein.Therefore, when you are working with many files and directories, EnumerateFiles can be more efficient.

Wenn keine Dateien in DirectoryInfovorhanden sind, gibt diese Methode ein leeres Array zurück.If there are no files in the DirectoryInfo, this method returns an empty array.

Die folgenden Platzhalter Spezifizierer sind im searchPattern -Parameter zulässig.The following wildcard specifiers are permitted in the searchPattern parameter.

Platzhalter ZeichenWildcard character BeschreibungDescription
* NULL oder mehr Zeichen.Zero or more characters.
?? Genau null oder ein Zeichen.Exactly zero or one character.

Die Reihenfolge der zurückgegebenen Dateinamen ist nicht garantiert. Verwenden Sie Sort die-Methode, wenn eine bestimmte Sortierreihenfolge erforderlich ist.The order of the returned file names is not guaranteed; use the Sort method if a specific sort order is required.

Platzhalter sind zulässig.Wildcards are permitted. Die searchPattern Zeichenfolge "*. txt" sucht z. b. nach allen Dateinamen, die die Erweiterung "txt" aufweisen.For example, the searchPattern string "*.txt" searches for all file names having an extension of "txt". Die searchPattern Zeichenfolge "*s" sucht nach allen Dateinamen, die mit dem Buchstaben "s" beginnen.The searchPattern string "s*" searches for all file names beginning with the letter "s". Wenn keine Dateien vorhanden sind oder keine Dateien vorhanden sind, die searchPattern der Zeichenfolge DirectoryInfoin entsprechen, gibt diese Methode ein leeres Array zurück.If there are no files, or no files that match the searchPattern string in the DirectoryInfo, this method returns an empty array.

Hinweis

Wenn Sie das Platzhalter Zeichen Sternchen in searchPattern einem verwenden (z. b. "*. txt"), variiert das übereinstimmende Verhalten in Abhängigkeit von der Länge der angegebenen Dateierweiterung.When using the asterisk wildcard character in a searchPattern (for example, "*.txt"), the matching behavior varies depending on the length of the specified file extension. Ein searchPattern mit einer Dateierweiterung von genau drei Zeichen gibt Dateien mit einer Erweiterung von drei oder mehr Zeichen zurück, wobei die ersten drei Zeichen der in der searchPatternangegebenen Dateierweiterung entsprechen.A searchPattern with a file extension of exactly three characters returns files with an extension of three or more characters, where the first three characters match the file extension specified in the searchPattern. Ein searchPattern mit einer Dateierweiterung von einem, zwei oder mehr als drei Zeichen gibt nur Dateien mit der Erweiterung genau dieser Länge zurück, die mit der in der searchPatternangegebenen Dateierweiterung übereinstimmen.A searchPattern with a file extension of one, two, or more than three characters returns only files with extensions of exactly that length that match the file extension specified in the searchPattern. Wenn Sie das Fragezeichen-Platzhalter Zeichen verwenden, gibt diese Methode nur die Dateien zurück, die der angegebenen Dateierweiterung entsprechen.When using the question mark wildcard character, this method returns only files that match the specified file extension. Angenommen, es gibt zwei Dateien in einem Verzeichnis: "file1. txt" und "file1. txtother", das Suchmuster "file?". txt "gibt nur die erste Datei zurück, während ein Suchmuster von"*file. txt "beide Dateien zurückgibt.For example, given two files in a directory, "file1.txt" and "file1.txtother", a search pattern of "file?.txt" returns only the first file, while a search pattern of "file*.txt" returns both files.

Hinweis

Da diese Methode Dateinamen sowohl mit dem Dateinamen Format 8,3 als auch mit dem langen Dateinamen Format überprüft, gibt ein Suchmuster, das "** 1. txt" ähnelt, möglicherweise unerwartete Dateinamen zurück.Because this method checks against file names with both the 8.3 file name format and the long file name format, a search pattern similar to "*1*.txt" may return unexpected file names. Wenn Sie z. b. ein Suchmuster*von*"1. txt" verwenden, wird "longfilename. txt" zurückgegeben, da das entsprechende Format für den 8,3-Dateinamen "longf ~ 1. txt" lauten würde.For example, using a search pattern of "*1*.txt" will return "longfilename.txt" because the equivalent 8.3 file name format would be "longf~1.txt".

Diese Methode füllt vorab die Werte der folgenden FileInfo Eigenschaften auf:This method pre-populates the values of the following FileInfo properties:

Sicherheit

FileIOPermission
für den Zugriff auf den Pfad und zum Lesen aus Dateien und Verzeichnissen.for access to the path and for reading from files and directories. Zugehörige Enumerationen Read:,PathDiscoveryAssociated enumerations: Read, PathDiscovery

Siehe auch

Gilt für: