DirectoryInfo.GetFiles Methode
Definition
Wichtig
Einige Informationen beziehen sich auf Vorabversionen, die vor dem Release ggf. grundlegend überarbeitet werden. Microsoft übernimmt hinsichtlich der hier bereitgestellten Informationen keine Gewährleistungen, seien sie ausdrücklich oder konkludent.
Gibt eine Dateiliste aus dem aktuellen Verzeichnis zurück.
Überlädt
| Name | Beschreibung |
|---|---|
| GetFiles(String, EnumerationOptions) |
Gibt eine Dateiliste aus dem aktuellen Verzeichnis zurück, die den angegebenen Suchmustern und Enumerationsoptionen entspricht. |
| GetFiles(String, SearchOption) |
Gibt eine Dateiliste aus dem aktuellen Verzeichnis zurück, das dem angegebenen Suchmuster entspricht, und verwendet einen Wert, um zu bestimmen, ob Unterverzeichnisse durchsucht werden sollen. |
| GetFiles() |
Gibt eine Dateiliste aus dem aktuellen Verzeichnis zurück. |
| GetFiles(String) |
Gibt eine Dateiliste aus dem aktuellen Verzeichnis zurück, das dem angegebenen Suchmuster entspricht. |
GetFiles(String, EnumerationOptions)
Gibt eine Dateiliste aus dem aktuellen Verzeichnis zurück, die den angegebenen Suchmustern und Enumerationsoptionen entspricht.
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()
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
Ein Array stark typierter FileInfo Objekte, die übereinstimmen searchPattern und .enumerationOptions
Ausnahmen
.NET Framework- und .NET Core-Versionen, die älter als 2.1 sind: searchPattern enthält mindestens ein ungültiges Zeichen, das von der GetInvalidPathChars() Methode definiert ist.
searchPattern ist null.
Der 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 | Treffer |
|---|---|
| * (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.
Wenn keine Dateien in der DirectoryInfoMethode vorhanden sind, gibt diese Methode ein leeres Array zurück.
Die folgenden Wildcardbezeichner sind im searchPattern Parameter zulässig.
| Platzhalterzeichen | Description |
|---|---|
| * | Null oder mehrere Zeichen. |
| ? | Genau null oder ein Zeichen. |
Die Reihenfolge der zurückgegebenen Dateinamen ist nicht garantiert; verwenden Sie die Sort Methode, wenn eine bestimmte Sortierreihenfolge erforderlich ist.
Wildcards sind zulässig. Beispielsweise sucht die searchPattern Zeichenfolge "*.txt" nach allen Dateinamen mit der Erweiterung "txt". Die searchPattern Zeichenfolge "s*" sucht nach allen Dateinamen, die mit dem Buchstaben "s" beginnen. Wenn keine Dateien vorhanden sind oder keine Dateien mit der Zeichenfolge in der searchPatternDirectoryInfoZeichenfolge übereinstimmen, gibt diese Methode ein leeres Array zurück.
Note
Bei Verwendung des Sternchens in einem searchPattern (z. B. "*.txt") variiert das Abgleichsverhalten je nach Länge der angegebenen Dateierweiterung. 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. A searchPattern mit einer Dateierweiterung von ein, zwei oder mehr als drei Zeichen gibt nur Dateien mit Erweiterungen genau dieser Länge zurück, die mit der in der searchPatternDateierweiterung angegebenen übereinstimmen. Bei Verwendung des Fragezeichen-Wildcardzeichens gibt diese Methode nur Dateien zurück, die der angegebenen Dateierweiterung entsprechen. Wenn sie beispielsweise zwei Dateien in einem Verzeichnis haben, "file1.txt" und "file1.txtother", ein Suchmuster von "Datei?.txt" gibt nur die erste Datei zurück, während ein Suchmuster von "file*.txt" beide Dateien zurückgibt.
Note
Da diese Methode Dateinamen mit dem 8.3-Dateinamenformat und dem langen Dateinamenformat überprüft, gibt ein Suchmuster ähnlich wie "*1*.txt" möglicherweise unerwartete Dateinamen zurück. Wenn Sie z. B. ein Suchmuster von "*1*.txt" verwenden, wird "longfilename.txt" zurückgegeben, da das entsprechende 8.3-Dateinamenformat "longf~1.txt" lautet.
Diese Methode füllt die Werte der folgenden FileInfo Eigenschaften vor:
Gilt für:
GetFiles(String, SearchOption)
Gibt eine Dateiliste aus dem aktuellen Verzeichnis zurück, das dem angegebenen Suchmuster entspricht, und verwendet einen Wert, um zu bestimmen, ob Unterverzeichnisse durchsucht werden sollen.
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()
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.
Gibt zurück
Ein Array vom Typ FileInfo.
Ausnahmen
.NET Framework- und .NET Core-Versionen, die älter als 2.1 sind: searchPattern enthält mindestens ein ungültiges Zeichen, das von der GetInvalidPathChars() Methode definiert ist.
searchPattern ist null.
searchOption ist kein gültiger SearchOption Wert.
Der 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 mithilfe verschiedener Suchoptionen eine Liste von Dateien aus einem Verzeichnis abrufen. 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:\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 . . .
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.
Wenn keine Dateien in der DirectoryInfoMethode vorhanden sind, gibt diese Methode ein leeres Array zurück.
Die folgenden Wildcardspezifizierer sind zulässig in searchPattern.
| Platzhalterzeichen | Description |
|---|---|
| * (Sternchen) | Null oder mehrere Zeichen. |
| ? (Fragezeichen) | Genau null oder ein Zeichen. |
Die Reihenfolge der zurückgegebenen Dateinamen ist nicht garantiert; verwenden Sie die Sort Methode, wenn eine bestimmte Sortierreihenfolge erforderlich ist.
Wildcards sind zulässig. Beispielsweise sucht die searchPattern Zeichenfolge "*.txt" nach allen Dateinamen mit der Erweiterung "txt". Die searchPattern Zeichenfolge "s*" sucht nach allen Dateinamen, die mit dem Buchstaben "s" beginnen. Wenn keine Dateien vorhanden sind oder keine Dateien mit der Zeichenfolge in der searchPatternDirectoryInfoZeichenfolge übereinstimmen, gibt diese Methode ein leeres Array zurück.
Note
Bei Verwendung des Sternchens in einem searchPattern (z. B. "*.txt") variiert das Abgleichsverhalten je nach Länge der angegebenen Dateierweiterung. 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. A searchPattern mit einer Dateierweiterung von ein, zwei oder mehr als drei Zeichen gibt nur Dateien mit Erweiterungen genau dieser Länge zurück, die mit der in der searchPatternDateierweiterung angegebenen übereinstimmen. Bei Verwendung des Fragezeichen-Wildcardzeichens gibt diese Methode nur Dateien zurück, die der angegebenen Dateierweiterung entsprechen. Wenn sie beispielsweise zwei Dateien in einem Verzeichnis haben, "file1.txt" und "file1.txtother", ein Suchmuster von "Datei?.txt" gibt nur die erste Datei zurück, während ein Suchmuster von "file*.txt" beide Dateien zurückgibt.
Die folgende Liste zeigt das Verhalten unterschiedlicher Längen für den searchPattern Parameter:
"*.abc" gibt Dateien mit der Erweiterung .abcd, .abcd, .abcde, .abcdef usw. zurück.
"*.abcd" gibt nur Dateien mit der Erweiterung ".abcd" zurück.
"*.abcde" gibt nur Dateien mit der Erweiterung ".abcde" zurück.
"*.abcdef" gibt nur Dateien mit der Erweiterung ".abcdef" zurück.
Note
Da diese Methode Dateinamen mit dem 8.3-Dateinamenformat und dem langen Dateinamenformat überprüft, gibt ein Suchmuster ähnlich wie "*1*.txt" möglicherweise unerwartete Dateinamen zurück. Wenn Sie z. B. ein Suchmuster von "*1*.txt" verwenden, wird "longfilename.txt" zurückgegeben, da das entsprechende 8.3-Dateinamenformat "longf~1.txt" lautet.
Diese Methode füllt die Werte der folgenden FileInfo Eigenschaften vor:
Weitere Informationen
- Datei- und Stream-E/A
- Vorgehensweise: Lesen von Text aus einer Datei
- Vorgehensweise: Schreiben von Text in eine Datei
Gilt für:
GetFiles()
Gibt eine Dateiliste aus dem aktuellen Verzeichnis zurück.
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.
Ausnahmen
Der Pfad ist ungültig, z. B. auf einem nicht zugeordneten Laufwerk.
Beispiele
Das folgende Beispiel zeigt, wie Sie mithilfe verschiedener Suchoptionen eine Liste von Dateien aus einem Verzeichnis abrufen. 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:\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 . . .
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.
Wenn keine Dateien in der DirectoryInfoMethode vorhanden sind, gibt diese Methode ein leeres Array zurück.
Die Reihenfolge der zurückgegebenen Dateinamen ist nicht garantiert; verwenden Sie die Sort Methode, wenn eine bestimmte Sortierreihenfolge erforderlich ist.
Diese Methode füllt die Werte der folgenden FileInfo Eigenschaften vor:
Weitere Informationen
- Datei- und Stream-E/A
- Vorgehensweise: Lesen von Text aus einer Datei
- Vorgehensweise: Schreiben von Text in eine Datei
Gilt für:
GetFiles(String)
Gibt eine Dateiliste aus dem aktuellen Verzeichnis zurück, das dem angegebenen Suchmuster entspricht.
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, 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
Ein Array vom Typ FileInfo.
Ausnahmen
.NET Framework- und .NET Core-Versionen, die älter als 2.1 sind: searchPattern enthält mindestens ein ungültiges Zeichen, das von der GetInvalidPathChars() Methode definiert ist.
searchPattern ist null.
Der 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 mithilfe verschiedener Suchoptionen eine Liste von Dateien aus einem Verzeichnis abrufen. 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:\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 . . .
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 | Treffer |
|---|---|
| * (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.
Wenn keine Dateien in der DirectoryInfoMethode vorhanden sind, gibt diese Methode ein leeres Array zurück.
Die folgenden Wildcardbezeichner sind im searchPattern Parameter zulässig.
| Platzhalterzeichen | Description |
|---|---|
| * | Null oder mehrere Zeichen. |
| ? | Genau null oder ein Zeichen. |
Die Reihenfolge der zurückgegebenen Dateinamen ist nicht garantiert; verwenden Sie die Sort Methode, wenn eine bestimmte Sortierreihenfolge erforderlich ist.
Wildcards sind zulässig. Beispielsweise sucht die searchPattern Zeichenfolge "*.txt" nach allen Dateinamen mit der Erweiterung "txt". Die searchPattern Zeichenfolge "s*" sucht nach allen Dateinamen, die mit dem Buchstaben "s" beginnen. Wenn keine Dateien vorhanden sind oder keine Dateien mit der Zeichenfolge in der searchPatternDirectoryInfoZeichenfolge übereinstimmen, gibt diese Methode ein leeres Array zurück.
Note
Bei Verwendung des Sternchens in einem searchPattern (z. B. "*.txt") variiert das Abgleichsverhalten je nach Länge der angegebenen Dateierweiterung. 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. A searchPattern mit einer Dateierweiterung von ein, zwei oder mehr als drei Zeichen gibt nur Dateien mit Erweiterungen genau dieser Länge zurück, die mit der in der searchPatternDateierweiterung angegebenen übereinstimmen. Bei Verwendung des Fragezeichen-Wildcardzeichens gibt diese Methode nur Dateien zurück, die der angegebenen Dateierweiterung entsprechen. Wenn sie beispielsweise zwei Dateien in einem Verzeichnis haben, "file1.txt" und "file1.txtother", ein Suchmuster von "Datei?.txt" gibt nur die erste Datei zurück, während ein Suchmuster von "file*.txt" beide Dateien zurückgibt.
Note
Da diese Methode Dateinamen mit dem 8.3-Dateinamenformat und dem langen Dateinamenformat überprüft, gibt ein Suchmuster ähnlich wie "*1*.txt" möglicherweise unerwartete Dateinamen zurück. Wenn Sie z. B. ein Suchmuster von "*1*.txt" verwenden, wird "longfilename.txt" zurückgegeben, da das entsprechende 8.3-Dateinamenformat "longf~1.txt" lautet.
Diese Methode füllt die Werte der folgenden FileInfo Eigenschaften vor:
Weitere Informationen
- Datei- und Stream-E/A
- Vorgehensweise: Lesen von Text aus einer Datei
- Vorgehensweise: Schreiben von Text in eine Datei