DirectoryInfo.EnumerateFiles 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 aufzählbare Auflistung von Dateiinformationen im aktuellen Verzeichnis zurück.
Überlädt
EnumerateFiles() |
Gibt eine aufzählbare Auflistung von Dateiinformationen im aktuellen Verzeichnis zurück. |
EnumerateFiles(String) |
Gibt eine aufzählbare Auflistung von Dateiinformationen zurück, die einem Suchmuster entsprechen. |
EnumerateFiles(String, EnumerationOptions) |
Gibt eine aufzählbare Sammlung von Dateiinformationen zurück, die dem angegebenen Suchmuster und der angegebenen Enumerationsoptionen entspricht |
EnumerateFiles(String, SearchOption) |
Gibt eine aufzählbare Auflistung von Dateiinformationen zurück, die einem angegebenen Suchmuster und einer angegebenen Option zum Durchsuchen von Unterverzeichnissen entspricht. |
EnumerateFiles()
- Quelle:
- DirectoryInfo.cs
- Quelle:
- DirectoryInfo.cs
- Quelle:
- DirectoryInfo.cs
Gibt eine aufzählbare Auflistung von Dateiinformationen im aktuellen Verzeichnis zurück.
public:
System::Collections::Generic::IEnumerable<System::IO::FileInfo ^> ^ EnumerateFiles();
public System.Collections.Generic.IEnumerable<System.IO.FileInfo> EnumerateFiles ();
member this.EnumerateFiles : unit -> seq<System.IO.FileInfo>
Public Function EnumerateFiles () As IEnumerable(Of FileInfo)
Gibt zurück
Eine aufzählbare Auflistung der Dateien im aktuellen Verzeichnis.
Ausnahmen
Der im DirectoryInfo -Objekt gekapselte Pfad ist ungültig (z. B. befindet er sich auf einem nicht zugeordneten Laufwerk).
Der Aufrufer verfügt nicht über die erforderliche Berechtigung.
Beispiele
Das folgende Beispiel listet die Dateien unter einem angegebenen Verzeichnis auf und verwendet eine LINQ-Abfrage, um die Namen aller Dateien zurückzugeben, die vor 2009 erstellt wurden, indem der Wert der CreationTimeUtc Eigenschaft überprüft wird.
Wenn Sie nur die Namen der Dateien benötigen, verwenden Sie die statische Directory Klasse, um die Leistung zu verbessern. Ein Beispiel finden Sie in der Directory.EnumerateFiles(String) -Methode.
// Create a DirectoryInfo of the directory of the files to enumerate.
DirectoryInfo DirInfo = new DirectoryInfo(@"\\archives1\library\");
DateTime StartOf2009 = new DateTime(2009, 01, 01);
// LINQ query for all files created before 2009.
var files = from f in DirInfo.EnumerateFiles()
where f.CreationTimeUtc < StartOf2009
select f;
// Show results.
foreach (var f in files)
{
Console.WriteLine("{0}", f.Name);
}
// Create a DirectoryInfo of the directory of the files to enumerate.
let dirInfo = DirectoryInfo @"\archives1\library\"
let startOf2009 = DateTime(2009, 01, 01)
// LINQ query for all files created before 2009.
let files =
query {
for f in dirInfo.EnumerateFiles() do
where (f.CreationTime < startOf2009)
select f
}
// Show results.
for f in files do
printfn $"{f.Name}"
' Create a DirectoryInfo of the directory of the files to enumerate.
Dim DirInfo As New DirectoryInfo("\\archives1\library\")
Dim StartOf2009 As New DateTime(2009, 1, 1)
' LINQ query for all files created before 2009.
Dim files = From f In DirInfo.EnumerateFiles()
Where f.CreationTimeUtc < StartOf2009
' Show results.
For Each f As FileInfo In files
Console.WriteLine("{0}", f.Name)
Next
Das folgende Beispiel zeigt, wie Dateien in einem Verzeichnis mithilfe verschiedener Suchoptionen aufgelistet werden. Im Beispiel wird davon ausgegangen, dass ein Verzeichnis mit Den Dateien log1.txt, log2.txt, test1.txt, test2.txt, test3.txt und ein Unterverzeichnis mit einer Datei mit dem Namen SubFile.txt enthält.
using System;
using System.IO;
namespace ConsoleApplication1
{
class Program
{
static void Main(string[] args)
{
DirectoryInfo di = new DirectoryInfo(@"C:\ExampleDir");
Console.WriteLine("No search pattern returns:");
foreach (var fi in di.EnumerateFiles())
{
Console.WriteLine(fi.Name);
}
Console.WriteLine();
Console.WriteLine("Search pattern *2* returns:");
foreach (var fi in di.EnumerateFiles("*2*"))
{
Console.WriteLine(fi.Name);
}
Console.WriteLine();
Console.WriteLine("Search pattern test?.txt returns:");
foreach (var fi in di.EnumerateFiles("test?.txt"))
{
Console.WriteLine(fi.Name);
}
Console.WriteLine();
Console.WriteLine("Search pattern AllDirectories returns:");
foreach (var fi in di.EnumerateFiles("*", SearchOption.AllDirectories))
{
Console.WriteLine(fi.Name);
}
}
}
}
/*
This code produces output similar to the following:
No search pattern returns:
log1.txt
log2.txt
test1.txt
test2.txt
test3.txt
Search pattern *2* returns:
log2.txt
test2.txt
Search pattern test?.txt returns:
test1.txt
test2.txt
test3.txt
Search pattern AllDirectories returns:
log1.txt
log2.txt
test1.txt
test2.txt
test3.txt
SubFile.txt
Press any key to continue . . .
*/
open System.IO
let di = DirectoryInfo @"C:\ExampleDir"
printfn "No search pattern returns:"
for fi in di.EnumerateFiles() do
printfn $"{fi.Name}"
printfn "\nSearch pattern *2* returns:"
for fi in di.EnumerateFiles "*2*" do
printfn $"{fi.Name}"
printfn "\nSearch pattern test?.txt returns:"
for fi in di.EnumerateFiles "test?.txt" do
printfn $"{fi.Name}"
printfn "\nSearch pattern AllDirectories returns:"
for fi in di.EnumerateFiles("*", SearchOption.AllDirectories) do
printfn $"{fi.Name}"
(*
This code produces output similar to the following:
No search pattern returns:
log1.txt
log2.txt
test1.txt
test2.txt
test3.txt
Search pattern *2* returns:
log2.txt
test2.txt
Search pattern test?.txt returns:
test1.txt
test2.txt
test3.txt
Search pattern AllDirectories returns:
log1.txt
log2.txt
test1.txt
test2.txt
test3.txt
SubFile.txt
Press any key to continue . . .
*)
Imports System.IO
Module Module1
Sub Main()
Dim di As DirectoryInfo = New DirectoryInfo("C:\ExampleDir")
Console.WriteLine("No search pattern returns:")
For Each fi In di.EnumerateFiles()
Console.WriteLine(fi.Name)
Next
Console.WriteLine()
Console.WriteLine("Search pattern *2* returns:")
For Each fi In di.EnumerateFiles("*2*")
Console.WriteLine(fi.Name)
Next
Console.WriteLine()
Console.WriteLine("Search pattern test?.txt returns:")
For Each fi In di.EnumerateFiles("test?.txt")
Console.WriteLine(fi.Name)
Next
Console.WriteLine()
Console.WriteLine("Search pattern AllDirectories returns:")
For Each fi In di.EnumerateFiles("*", SearchOption.AllDirectories)
Console.WriteLine(fi.Name)
Next
End Sub
End Module
' This code produces output similar to the following:
' No search pattern returns:
' log1.txt
' log2.txt
' test1.txt
' test2.txt
' test3.txt
' Search pattern *2* returns:
' log2.txt
' test2.txt
' Search pattern test?.txt returns:
' test1.txt
' test2.txt
' test3.txt
' Search pattern AllDirectories returns:
' log1.txt
' log2.txt
' test1.txt
' test2.txt
' test3.txt
' SubFile.txt
' Press any key to continue . . .
Hinweise
Die EnumerateFiles Methoden und GetFiles unterscheiden sich wie folgt:
Wenn Sie verwenden EnumerateFiles, können Sie mit der Auflistung der FileInfo Objekte beginnen, bevor die gesamte Auflistung zurückgegeben wird.
Wenn Sie verwenden GetFiles, müssen Sie warten, bis das gesamte Array von FileInfo Objekten zurückgegeben wird, bevor Sie auf das Array zugreifen können.
Wenn Sie mit vielen Dateien und Verzeichnissen arbeiten, EnumerateFiles kann es daher effizienter sein.
Diese Methode füllt die Werte der folgenden FileInfo Eigenschaften vorab auf:
Die zurückgegebene Sammlung wird nicht zwischengespeichert. Jeder Aufruf der GetEnumerator -Methode in der Auflistung startet eine neue Enumeration.
Gilt für:
EnumerateFiles(String)
- Quelle:
- DirectoryInfo.cs
- Quelle:
- DirectoryInfo.cs
- Quelle:
- DirectoryInfo.cs
Gibt eine aufzählbare Auflistung von Dateiinformationen zurück, die einem Suchmuster entsprechen.
public:
System::Collections::Generic::IEnumerable<System::IO::FileInfo ^> ^ EnumerateFiles(System::String ^ searchPattern);
public System.Collections.Generic.IEnumerable<System.IO.FileInfo> EnumerateFiles (string searchPattern);
member this.EnumerateFiles : string -> seq<System.IO.FileInfo>
Public Function EnumerateFiles (searchPattern As String) As IEnumerable(Of FileInfo)
Parameter
- searchPattern
- String
Die Suchzeichenfolge für die Überprüfung der Namen von Dateien auf Übereinstimmungen. Dieser Parameter kann eine Kombination aus gültigen Literalpfad- und Platzhalterzeichen (* und ?) enthalten, unterstützt jedoch keine regulären Ausdrücke.
Gibt zurück
Eine aufzählbare Auflistung von Dateien, die searchPattern
entspricht.
Ausnahmen
searchPattern
ist null
.
Der im DirectoryInfo -Objekt gekapselte Pfad ist ungültig (z. B. befindet er sich auf einem nicht zugeordneten Laufwerk).
Der Aufrufer verfügt nicht über die erforderliche Berechtigung.
Beispiele
Das folgende Beispiel zeigt, wie Dateien in einem Verzeichnis mithilfe verschiedener Suchoptionen aufgelistet werden. Im Beispiel wird davon ausgegangen, dass ein Verzeichnis mit Den Dateien log1.txt, log2.txt, test1.txt, test2.txt, test3.txt und ein Unterverzeichnis mit einer Datei mit dem Namen SubFile.txt enthält.
using System;
using System.IO;
namespace ConsoleApplication1
{
class Program
{
static void Main(string[] args)
{
DirectoryInfo di = new DirectoryInfo(@"C:\ExampleDir");
Console.WriteLine("No search pattern returns:");
foreach (var fi in di.EnumerateFiles())
{
Console.WriteLine(fi.Name);
}
Console.WriteLine();
Console.WriteLine("Search pattern *2* returns:");
foreach (var fi in di.EnumerateFiles("*2*"))
{
Console.WriteLine(fi.Name);
}
Console.WriteLine();
Console.WriteLine("Search pattern test?.txt returns:");
foreach (var fi in di.EnumerateFiles("test?.txt"))
{
Console.WriteLine(fi.Name);
}
Console.WriteLine();
Console.WriteLine("Search pattern AllDirectories returns:");
foreach (var fi in di.EnumerateFiles("*", SearchOption.AllDirectories))
{
Console.WriteLine(fi.Name);
}
}
}
}
/*
This code produces output similar to the following:
No search pattern returns:
log1.txt
log2.txt
test1.txt
test2.txt
test3.txt
Search pattern *2* returns:
log2.txt
test2.txt
Search pattern test?.txt returns:
test1.txt
test2.txt
test3.txt
Search pattern AllDirectories returns:
log1.txt
log2.txt
test1.txt
test2.txt
test3.txt
SubFile.txt
Press any key to continue . . .
*/
open System.IO
let di = DirectoryInfo @"C:\ExampleDir"
printfn "No search pattern returns:"
for fi in di.EnumerateFiles() do
printfn $"{fi.Name}"
printfn "\nSearch pattern *2* returns:"
for fi in di.EnumerateFiles "*2*" do
printfn $"{fi.Name}"
printfn "\nSearch pattern test?.txt returns:"
for fi in di.EnumerateFiles "test?.txt" do
printfn $"{fi.Name}"
printfn "\nSearch pattern AllDirectories returns:"
for fi in di.EnumerateFiles("*", SearchOption.AllDirectories) do
printfn $"{fi.Name}"
(*
This code produces output similar to the following:
No search pattern returns:
log1.txt
log2.txt
test1.txt
test2.txt
test3.txt
Search pattern *2* returns:
log2.txt
test2.txt
Search pattern test?.txt returns:
test1.txt
test2.txt
test3.txt
Search pattern AllDirectories returns:
log1.txt
log2.txt
test1.txt
test2.txt
test3.txt
SubFile.txt
Press any key to continue . . .
*)
Imports System.IO
Module Module1
Sub Main()
Dim di As DirectoryInfo = New DirectoryInfo("C:\ExampleDir")
Console.WriteLine("No search pattern returns:")
For Each fi In di.EnumerateFiles()
Console.WriteLine(fi.Name)
Next
Console.WriteLine()
Console.WriteLine("Search pattern *2* returns:")
For Each fi In di.EnumerateFiles("*2*")
Console.WriteLine(fi.Name)
Next
Console.WriteLine()
Console.WriteLine("Search pattern test?.txt returns:")
For Each fi In di.EnumerateFiles("test?.txt")
Console.WriteLine(fi.Name)
Next
Console.WriteLine()
Console.WriteLine("Search pattern AllDirectories returns:")
For Each fi In di.EnumerateFiles("*", SearchOption.AllDirectories)
Console.WriteLine(fi.Name)
Next
End Sub
End Module
' This code produces output similar to the following:
' No search pattern returns:
' log1.txt
' log2.txt
' test1.txt
' test2.txt
' test3.txt
' Search pattern *2* returns:
' log2.txt
' test2.txt
' Search pattern test?.txt returns:
' test1.txt
' test2.txt
' test3.txt
' Search pattern AllDirectories returns:
' log1.txt
' log2.txt
' test1.txt
' test2.txt
' test3.txt
' SubFile.txt
' Press any key to continue . . .
Hinweise
searchPattern
kann eine Kombination von Literal-und Platzhalterzeichen, jedoch werden reguläre Ausdrücke nicht unterstützt. Die folgenden Wildcard-Spezifizierer sind in searchPattern
zulässig.
Wildcard-Spezifizierer | Treffer |
---|---|
* (Sternchen) | Null oder mehr Zeichen an dieser Position. |
? (Fragezeichen) | Null oder ein Zeichen in dieser Position. |
Andere Zeichen als das Feldhalter sind Literalzeichen. Die Zeichenfolge "*t" sucht beispielsweise nach allen Namen, die mit dem Buchstaben "t" enden. ". Die searchPattern
Zeichenfolge "s*" sucht nach allen Namen, path
die mit dem Buchstaben "s" beginnen.
Die EnumerateFiles Methoden und GetFiles unterscheiden sich wie folgt:
Wenn Sie verwenden EnumerateFiles, können Sie mit der Auflistung der FileInfo Objekte beginnen, bevor die gesamte Auflistung zurückgegeben wird.
Wenn Sie verwenden GetFiles, müssen Sie warten, bis das gesamte Array von FileInfo Objekten zurückgegeben wird, bevor Sie auf das Array zugreifen können.
Wenn Sie mit vielen Dateien und Verzeichnissen arbeiten, EnumerateFiles kann es daher effizienter sein.
Diese Methode füllt die Werte der folgenden FileInfo Eigenschaften vorab auf:
Die zurückgegebene Sammlung wird nicht zwischengespeichert. Jeder Aufruf der GetEnumerator -Methode in der Auflistung startet eine neue Enumeration.
Gilt für:
EnumerateFiles(String, EnumerationOptions)
- Quelle:
- DirectoryInfo.cs
- Quelle:
- DirectoryInfo.cs
- Quelle:
- DirectoryInfo.cs
Gibt eine aufzählbare Sammlung von Dateiinformationen zurück, die dem angegebenen Suchmuster und der angegebenen Enumerationsoptionen entspricht
public:
System::Collections::Generic::IEnumerable<System::IO::FileInfo ^> ^ EnumerateFiles(System::String ^ searchPattern, System::IO::EnumerationOptions ^ enumerationOptions);
public System.Collections.Generic.IEnumerable<System.IO.FileInfo> EnumerateFiles (string searchPattern, System.IO.EnumerationOptions enumerationOptions);
member this.EnumerateFiles : string * System.IO.EnumerationOptions -> seq<System.IO.FileInfo>
Public Function EnumerateFiles (searchPattern As String, enumerationOptions As EnumerationOptions) As IEnumerable(Of FileInfo)
Parameter
- searchPattern
- String
Die Suchzeichenfolge für die Überprüfung der Namen von Dateien auf Übereinstimmungen. Dieser Parameter kann eine Kombination aus gültigen Literalpfad- und Platzhalterzeichen (* und ?) enthalten, unterstützt jedoch keine regulären Ausdrücke.
- enumerationOptions
- EnumerationOptions
Ein Objekt, das die zu verwendende Such- und Enumerationskonfiguration beschreibt.
Gibt zurück
Eine aufzählbare Auflistung von Dateien, die searchPattern
und enumerationOptions
entspricht.
Ausnahmen
searchPattern
ist null
.
Der im DirectoryInfo -Objekt gekapselte Pfad ist ungültig (z. B. befindet er sich auf einem nicht zugeordneten Laufwerk).
Der Aufrufer verfügt nicht über die erforderliche Berechtigung.
Hinweise
searchPattern
kann eine Kombination von Literal-und Platzhalterzeichen, jedoch werden reguläre Ausdrücke nicht unterstützt. Die folgenden Wildcard-Spezifizierer sind in searchPattern
zulässig.
Wildcard-Spezifizierer | Treffer |
---|---|
* (Sternchen) | Null oder mehr Zeichen an dieser Position. |
? (Fragezeichen) | Null oder ein Zeichen in dieser Position. |
Andere Zeichen als das Feldhalter sind Literalzeichen. Die Zeichenfolge "*t" sucht beispielsweise nach allen Namen, die mit dem Buchstaben "t" enden. ". Die searchPattern
Zeichenfolge "s*" sucht nach allen Namen, path
die mit dem Buchstaben "s" beginnen.
Die EnumerateFiles Methoden und GetFiles unterscheiden sich wie folgt:
Wenn Sie verwenden EnumerateFiles, können Sie mit der Auflistung der FileInfo Objekte beginnen, bevor die gesamte Auflistung zurückgegeben wird.
Wenn Sie verwenden GetFiles, müssen Sie warten, bis das gesamte Array von FileInfo Objekten zurückgegeben wird, bevor Sie auf das Array zugreifen können.
Wenn Sie mit vielen Dateien und Verzeichnissen arbeiten, EnumerateFiles kann es daher effizienter sein.
Diese Methode füllt die Werte der folgenden FileInfo Eigenschaften vorab auf:
Die zurückgegebene Sammlung wird nicht zwischengespeichert. Jeder Aufruf der GetEnumerator -Methode in der Auflistung startet eine neue Enumeration.
Gilt für:
EnumerateFiles(String, SearchOption)
- Quelle:
- DirectoryInfo.cs
- Quelle:
- DirectoryInfo.cs
- Quelle:
- DirectoryInfo.cs
Gibt eine aufzählbare Auflistung von Dateiinformationen zurück, die einem angegebenen Suchmuster und einer angegebenen Option zum Durchsuchen von Unterverzeichnissen entspricht.
public:
System::Collections::Generic::IEnumerable<System::IO::FileInfo ^> ^ EnumerateFiles(System::String ^ searchPattern, System::IO::SearchOption searchOption);
public System.Collections.Generic.IEnumerable<System.IO.FileInfo> EnumerateFiles (string searchPattern, System.IO.SearchOption searchOption);
member this.EnumerateFiles : string * System.IO.SearchOption -> seq<System.IO.FileInfo>
Public Function EnumerateFiles (searchPattern As String, searchOption As SearchOption) As IEnumerable(Of FileInfo)
Parameter
- searchPattern
- String
Die Suchzeichenfolge für die Überprüfung der Namen von Dateien auf Übereinstimmungen. Dieser Parameter kann eine Kombination aus gültigen Literalpfad- und Platzhalterzeichen (* und ?) enthalten, unterstützt jedoch keine regulären Ausdrücke.
- searchOption
- SearchOption
Einer der Enumerationswerte, der angibt, ob nur das aktuelle Verzeichnis oder auch alle Unterverzeichnisse durchsucht werden sollen. Der Standardwert ist TopDirectoryOnly.
Gibt zurück
Eine aufzählbare Auflistung von Dateien, die searchPattern
und searchOption
entspricht.
Ausnahmen
searchPattern
ist null
.
searchOption
ist kein gültiger SearchOption-Wert.
Der im DirectoryInfo -Objekt gekapselte Pfad ist ungültig (z. B. befindet er sich auf einem nicht zugeordneten Laufwerk).
Der Aufrufer verfügt nicht über die erforderliche Berechtigung.
Beispiele
Das folgende Beispiel zeigt, wie Dateien in einem Verzeichnis mithilfe verschiedener Suchoptionen aufgelistet werden. Im Beispiel wird davon ausgegangen, dass ein Verzeichnis mit Den Dateien log1.txt, log2.txt, test1.txt, test2.txt, test3.txt und ein Unterverzeichnis mit einer Datei mit dem Namen SubFile.txt enthält.
using System;
using System.IO;
namespace ConsoleApplication1
{
class Program
{
static void Main(string[] args)
{
DirectoryInfo di = new DirectoryInfo(@"C:\ExampleDir");
Console.WriteLine("No search pattern returns:");
foreach (var fi in di.EnumerateFiles())
{
Console.WriteLine(fi.Name);
}
Console.WriteLine();
Console.WriteLine("Search pattern *2* returns:");
foreach (var fi in di.EnumerateFiles("*2*"))
{
Console.WriteLine(fi.Name);
}
Console.WriteLine();
Console.WriteLine("Search pattern test?.txt returns:");
foreach (var fi in di.EnumerateFiles("test?.txt"))
{
Console.WriteLine(fi.Name);
}
Console.WriteLine();
Console.WriteLine("Search pattern AllDirectories returns:");
foreach (var fi in di.EnumerateFiles("*", SearchOption.AllDirectories))
{
Console.WriteLine(fi.Name);
}
}
}
}
/*
This code produces output similar to the following:
No search pattern returns:
log1.txt
log2.txt
test1.txt
test2.txt
test3.txt
Search pattern *2* returns:
log2.txt
test2.txt
Search pattern test?.txt returns:
test1.txt
test2.txt
test3.txt
Search pattern AllDirectories returns:
log1.txt
log2.txt
test1.txt
test2.txt
test3.txt
SubFile.txt
Press any key to continue . . .
*/
open System.IO
let di = DirectoryInfo @"C:\ExampleDir"
printfn "No search pattern returns:"
for fi in di.EnumerateFiles() do
printfn $"{fi.Name}"
printfn "\nSearch pattern *2* returns:"
for fi in di.EnumerateFiles "*2*" do
printfn $"{fi.Name}"
printfn "\nSearch pattern test?.txt returns:"
for fi in di.EnumerateFiles "test?.txt" do
printfn $"{fi.Name}"
printfn "\nSearch pattern AllDirectories returns:"
for fi in di.EnumerateFiles("*", SearchOption.AllDirectories) do
printfn $"{fi.Name}"
(*
This code produces output similar to the following:
No search pattern returns:
log1.txt
log2.txt
test1.txt
test2.txt
test3.txt
Search pattern *2* returns:
log2.txt
test2.txt
Search pattern test?.txt returns:
test1.txt
test2.txt
test3.txt
Search pattern AllDirectories returns:
log1.txt
log2.txt
test1.txt
test2.txt
test3.txt
SubFile.txt
Press any key to continue . . .
*)
Imports System.IO
Module Module1
Sub Main()
Dim di As DirectoryInfo = New DirectoryInfo("C:\ExampleDir")
Console.WriteLine("No search pattern returns:")
For Each fi In di.EnumerateFiles()
Console.WriteLine(fi.Name)
Next
Console.WriteLine()
Console.WriteLine("Search pattern *2* returns:")
For Each fi In di.EnumerateFiles("*2*")
Console.WriteLine(fi.Name)
Next
Console.WriteLine()
Console.WriteLine("Search pattern test?.txt returns:")
For Each fi In di.EnumerateFiles("test?.txt")
Console.WriteLine(fi.Name)
Next
Console.WriteLine()
Console.WriteLine("Search pattern AllDirectories returns:")
For Each fi In di.EnumerateFiles("*", SearchOption.AllDirectories)
Console.WriteLine(fi.Name)
Next
End Sub
End Module
' This code produces output similar to the following:
' No search pattern returns:
' log1.txt
' log2.txt
' test1.txt
' test2.txt
' test3.txt
' Search pattern *2* returns:
' log2.txt
' test2.txt
' Search pattern test?.txt returns:
' test1.txt
' test2.txt
' test3.txt
' Search pattern AllDirectories returns:
' log1.txt
' log2.txt
' test1.txt
' test2.txt
' test3.txt
' SubFile.txt
' Press any key to continue . . .
Hinweise
searchPattern
kann eine Kombination von Literal-und Platzhalterzeichen, jedoch werden reguläre Ausdrücke nicht unterstützt. Die folgenden Wildcard-Spezifizierer sind in searchPattern
zulässig.
Wildcard-Spezifizierer | Treffer |
---|---|
* (Sternchen) | Null oder mehr Zeichen an dieser Position. |
? (Fragezeichen) | Null oder ein Zeichen in dieser Position. |
Andere Zeichen als das Feldhalter sind Literalzeichen. Die Zeichenfolge "*t" sucht beispielsweise nach allen Namen, die mit dem Buchstaben "t" enden. ". Die searchPattern
Zeichenfolge "s*" sucht nach allen Namen, path
die mit dem Buchstaben "s" beginnen.
Die EnumerateFiles Methoden und GetFiles unterscheiden sich wie folgt:
Wenn Sie verwenden EnumerateFiles, können Sie mit der Auflistung der FileInfo Objekte beginnen, bevor die gesamte Auflistung zurückgegeben wird.
Wenn Sie verwenden GetFiles, müssen Sie warten, bis das gesamte Array von FileInfo Objekten zurückgegeben wird, bevor Sie auf das Array zugreifen können.
Wenn Sie mit vielen Dateien und Verzeichnissen arbeiten, EnumerateFiles kann es daher effizienter sein.
Diese Methode füllt die Werte der folgenden FileInfo Eigenschaften vorab auf:
Die zurückgegebene Sammlung wird nicht zwischengespeichert. Jeder Aufruf der GetEnumerator -Methode in der Auflistung startet eine neue Enumeration.