Condividi tramite


DirectoryInfo.GetFiles Metodo

Definizione

Restituisce un elenco di file della directory corrente.

Overload

GetFiles(String, EnumerationOptions)

Restituisce un elenco di file dalla directory corrente corrispondente al criterio di ricerca e alle opzioni di enumerazione specificati.

GetFiles(String, SearchOption)

Restituisce un elenco di file dalla directory corrente che corrisponde al criterio di ricerca fornito e che utilizza un valore per determinare se eseguire la ricerca nelle sottodirectory.

GetFiles()

Restituisce un elenco di file della directory corrente.

GetFiles(String)

Restituisce un elenco di file della directory corrente corrispondente al criterio di ricerca fornito.

GetFiles(String, EnumerationOptions)

Origine:
DirectoryInfo.cs
Origine:
DirectoryInfo.cs
Origine:
DirectoryInfo.cs

Restituisce un elenco di file dalla directory corrente corrispondente al criterio di ricerca e alle opzioni di enumerazione specificati.

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

Parametri

searchPattern
String

Stringa di ricerca in base alla quale confrontare i nomi dei file. Questo parametro può contenere una combinazione di caratteri del percorso letterale e caratteri jolly (* e ?) validi, ma non supporta le espressioni regolari.

enumerationOptions
EnumerationOptions

Oggetto che descrive la configurazione di ricerca ed enumerazione da usare.

Restituisce

Matrice di oggetti FileInfo fortemente tipizzati che corrispondono a searchPattern e enumerationOptions.

Eccezioni

.NET Framework e versioni di .NET Core precedenti alla 2.1: searchPattern contiene uno o più caratteri non validi definiti dal GetInvalidPathChars() metodo .

searchPattern è null.

Il percorso non è valido, ad esempio si trova in un'unità non mappata.

Il chiamante non dispone dell'autorizzazione richiesta.

Commenti

searchPattern può essere una combinazione di caratteri letterali e caratteri jolly, ma non supporta espressioni regolari. Gli identificatori con caratteri jolly seguenti sono consentiti in searchPattern.

Identificatore di caratteri jolly Corrispondenze
* (asterisco) Zero o più caratteri in tale posizione.
? (punto interrogativo) Zero o un carattere in tale posizione.

I caratteri diversi dai caratteri jolly sono caratteri letterali. Ad esempio, la stringa "*t" cerca tutti i nomi che terminano con la lettera "t". La searchPattern stringa "s*" cerca tutti i nomi che iniziano path con la lettera "s".

I EnumerateFiles metodi e GetFiles differiscono come segue:

  • Quando si utilizza EnumerateFiles, è possibile iniziare a enumerare la raccolta di FileInfo oggetti prima che venga restituita l'intera raccolta.

  • Quando si usa GetFiles, è necessario attendere che venga restituita l'intera matrice di FileInfo oggetti prima di poter accedere alla matrice.

Pertanto, quando si lavora con molti file e directory, EnumerateFiles può essere più efficiente.

Se non sono presenti file in DirectoryInfo, questo metodo restituisce una matrice vuota.

Nel parametro sono consentiti searchPattern gli identificatori jolly seguenti.

Carattere jolly Descrizione
* Zero o più caratteri.
? Esattamente zero o un carattere.

L'ordine dei nomi di file restituiti non è garantito; utilizzare il Sort metodo se è necessario un ordinamento specifico.

I caratteri jolly sono consentiti. Ad esempio, la searchPattern stringa "*.txt" cerca tutti i nomi di file con estensione "txt". La searchPattern stringa "s*" cerca tutti i nomi di file che iniziano con la lettera "s". Se non sono presenti file o nessun file che corrispondono alla searchPattern stringa in DirectoryInfo, questo metodo restituisce una matrice vuota.

Nota

Quando si usa il carattere jolly asterisco in un searchPattern (ad esempio, "*.txt"), il comportamento corrispondente varia a seconda della lunghezza dell'estensione di file specificata. Un searchPattern oggetto con estensione di file di esattamente tre caratteri restituisce i file con estensione di tre o più caratteri, in cui i primi tre caratteri corrispondono all'estensione di file specificata in searchPattern. Un searchPattern oggetto con estensione di uno, due o più di tre caratteri restituisce solo i file con estensioni di esattamente tale lunghezza che corrispondono all'estensione di file specificata in searchPattern. Quando si utilizza il carattere jolly del punto interrogativo, questo metodo restituisce solo i file che corrispondono all'estensione di file specificata. Ad esempio, dato due file in una directory, "file1.txt" e "file1.txtother", un modello di ricerca "file?.txt" restituisce solo il primo file, mentre un criterio di ricerca "file*.txt" restituisce entrambi i file.

Nota

Poiché questo metodo controlla i nomi di file con il formato del nome file 8.3 e il formato di nome file lungo, un criterio di ricerca simile a "*1*.txt" potrebbe restituire nomi di file imprevisti. Ad esempio, l'utilizzo di un modello di ricerca "*1*.txt" restituirà "longfilename.txt" perché il formato del nome file 8.3 equivalente sarebbe "longf~1.txt".

Questo metodo precompila i valori delle proprietà seguenti FileInfo :

Si applica a

GetFiles(String, SearchOption)

Origine:
DirectoryInfo.cs
Origine:
DirectoryInfo.cs
Origine:
DirectoryInfo.cs

Restituisce un elenco di file dalla directory corrente che corrisponde al criterio di ricerca fornito e che utilizza un valore per determinare se eseguire la ricerca nelle sottodirectory.

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

Parametri

searchPattern
String

Stringa di ricerca in base alla quale confrontare i nomi dei file. Questo parametro può contenere una combinazione di caratteri del percorso letterale e caratteri jolly (* e ?) validi, ma non supporta le espressioni regolari.

searchOption
SearchOption

Uno dei valori di enumerazione che specifica se l'operazione di ricerca deve includere solo la directory corrente o anche tutte le sottodirectory.

Restituisce

Matrice di tipo FileInfo.

Eccezioni

.NET Framework e versioni di .NET Core precedenti alla 2.1: searchPattern contiene uno o più caratteri non validi definiti dal GetInvalidPathChars() metodo .

searchPattern è null.

searchOption non è un valore valido di SearchOption.

Il percorso non è valido, ad esempio si trova in un'unità non mappata.

Il chiamante non dispone dell'autorizzazione richiesta.

Esempio

Nell'esempio seguente viene illustrato come ottenere un elenco di file da una directory usando diverse opzioni di ricerca. Nell'esempio si presuppone una directory con file denominati log1.txt, log2.txt, test1.txt, test2.txt, test3.txt e una sottodirectory con un file denominato 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 . . .

Commenti

I EnumerateFiles metodi e GetFiles differiscono come segue:

  • Quando si utilizza EnumerateFiles, è possibile iniziare a enumerare la raccolta di FileInfo oggetti prima che venga restituita l'intera raccolta.

  • Quando si usa GetFiles, è necessario attendere che venga restituita l'intera matrice di FileInfo oggetti prima di poter accedere alla matrice.

Pertanto, quando si lavora con molti file e directory, EnumerateFiles può essere più efficiente.

Se non sono presenti file in DirectoryInfo, questo metodo restituisce una matrice vuota.

Gli identificatori con caratteri jolly seguenti sono consentiti in searchPattern.

Carattere jolly Descrizione
* (asterisco) Zero o più caratteri.
? (punto interrogativo) Esattamente zero o un carattere.

L'ordine dei nomi di file restituiti non è garantito; utilizzare il Sort metodo se è necessario un ordinamento specifico.

I caratteri jolly sono consentiti. Ad esempio, la searchPattern stringa "*.txt" cerca tutti i nomi di file con estensione "txt". La searchPattern stringa "s*" cerca tutti i nomi di file che iniziano con la lettera "s". Se non sono presenti file o nessun file che corrispondono alla searchPattern stringa in DirectoryInfo, questo metodo restituisce una matrice vuota.

Nota

Quando si usa il carattere jolly asterisco in un searchPattern (ad esempio, "*.txt"), il comportamento corrispondente varia a seconda della lunghezza dell'estensione di file specificata. Un searchPattern oggetto con estensione di file di esattamente tre caratteri restituisce i file con estensione di tre o più caratteri, in cui i primi tre caratteri corrispondono all'estensione di file specificata in searchPattern. Un searchPattern oggetto con estensione di uno, due o più di tre caratteri restituisce solo i file con estensioni di esattamente tale lunghezza che corrispondono all'estensione di file specificata in searchPattern. Quando si utilizza il carattere jolly del punto interrogativo, questo metodo restituisce solo i file che corrispondono all'estensione di file specificata. Ad esempio, dato due file in una directory, "file1.txt" e "file1.txtother", un modello di ricerca "file?.txt" restituisce solo il primo file, mentre un criterio di ricerca "file*.txt" restituisce entrambi i file.

L'elenco seguente mostra il comportamento di lunghezze diverse per il searchPattern parametro :

  • "*.abc" restituisce i file con estensione abc, abcd, abcde, abcde, abcdef e così via.

  • "*.abcd" restituisce solo i file con estensione abcd.

  • "*.abcde" restituisce solo i file con estensione abcde.

  • "*.abcdef" restituisce solo i file con estensione abcdef.

Nota

Poiché questo metodo controlla i nomi di file con il formato del nome file 8.3 e il formato di nome file lungo, un criterio di ricerca simile a "*1*.txt" potrebbe restituire nomi di file imprevisti. Ad esempio, l'utilizzo di un modello di ricerca "*1*.txt" restituirà "longfilename.txt" perché il formato del nome file 8.3 equivalente sarebbe "longf~1.txt".

Questo metodo precompila i valori delle proprietà seguenti FileInfo :

  1. Attributes

  2. CreationTime

  3. CreationTimeUtc

  4. LastAccessTime

  5. LastAccessTimeUtc

  6. LastWriteTime

  7. LastWriteTimeUtc

  8. Length

Vedi anche

Si applica a

GetFiles()

Origine:
DirectoryInfo.cs
Origine:
DirectoryInfo.cs
Origine:
DirectoryInfo.cs

Restituisce un elenco di file della directory corrente.

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

Restituisce

Matrice di tipo FileInfo.

Eccezioni

Il percorso non è valido, ad esempio si trova in un'unità non mappata.

Esempio

Nell'esempio seguente viene illustrato come ottenere un elenco di file da una directory usando diverse opzioni di ricerca. Nell'esempio si presuppone che una directory con file denominati log1.txt, log2.txt, test1.txt, test2.txt, test3.txt e una sottodirectory con un file denominato 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 . . .

Commenti

I EnumerateFiles metodi e GetFiles differiscono come segue:

  • Quando si usa EnumerateFiles, è possibile iniziare a enumerare la raccolta di FileInfo oggetti prima che venga restituita l'intera raccolta.

  • Quando si usa GetFiles, è necessario attendere che venga restituita l'intera matrice di oggetti prima di FileInfo poter accedere alla matrice.

Pertanto, quando si utilizzano molti file e directory, EnumerateFiles può essere più efficiente.

Se non sono presenti file in DirectoryInfo, questo metodo restituisce una matrice vuota.

L'ordine dei nomi di file restituiti non è garantito; usare il Sort metodo se è necessario un ordine di ordinamento specifico.

Questo metodo pre-popola i valori delle proprietà seguenti FileInfo :

Vedi anche

Si applica a

GetFiles(String)

Origine:
DirectoryInfo.cs
Origine:
DirectoryInfo.cs
Origine:
DirectoryInfo.cs

Restituisce un elenco di file della directory corrente corrispondente al criterio di ricerca fornito.

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

Parametri

searchPattern
String

Stringa di ricerca in base alla quale confrontare i nomi dei file. Questo parametro può contenere una combinazione di caratteri del percorso letterale e caratteri jolly (* e ?) validi, ma non supporta le espressioni regolari.

Restituisce

Matrice di tipo FileInfo.

Eccezioni

.NET Framework e versioni di .NET Core precedenti alla versione 2.1: searchPattern contiene uno o più caratteri non validi definiti dal GetInvalidPathChars() metodo .

searchPattern è null.

Il percorso non è valido, ad esempio si trova in un'unità non mappata.

Il chiamante non dispone dell'autorizzazione richiesta.

Esempio

Nell'esempio seguente viene illustrato come ottenere un elenco di file da una directory usando diverse opzioni di ricerca. Nell'esempio si presuppone che una directory con file denominati log1.txt, log2.txt, test1.txt, test2.txt, test3.txt e una sottodirectory con un file denominato 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 . . .

Commenti

searchPattern può essere una combinazione di caratteri letterali e jolly, ma non supporta espressioni regolari. Gli identificatori jolly seguenti sono consentiti in searchPattern.

Identificatore jolly Corrispondenze
* (asterisco) Zero o più caratteri in tale posizione.
? (punto interrogativo) Zero o un carattere in tale posizione.

I caratteri diversi dal carattere jolly sono caratteri letterali. Ad esempio, la stringa "*t" cerca tutti i nomi che terminano con la lettera "t". La searchPattern stringa "s*" cerca tutti i nomi in path inizio con la lettera "s".

I EnumerateFiles metodi e GetFiles differiscono come segue:

  • Quando si usa EnumerateFiles, è possibile iniziare a enumerare la raccolta di FileInfo oggetti prima che venga restituita l'intera raccolta.

  • Quando si usa GetFiles, è necessario attendere che venga restituita l'intera matrice di oggetti prima di FileInfo poter accedere alla matrice.

Pertanto, quando si utilizzano molti file e directory, EnumerateFiles può essere più efficiente.

Se non sono presenti file in DirectoryInfo, questo metodo restituisce una matrice vuota.

Gli identificatori jolly seguenti sono consentiti nel searchPattern parametro.

Carattere jolly Descrizione
* Zero o più caratteri.
? Esattamente zero o un carattere.

L'ordine dei nomi di file restituiti non è garantito; usare il Sort metodo se è necessario un ordine di ordinamento specifico.

I caratteri jolly sono consentiti. Ad esempio, la searchPattern stringa "*.txt" cerca tutti i nomi di file con estensione "txt". La searchPattern stringa "s*" cerca tutti i nomi di file che iniziano con la lettera "s". Se non sono presenti file o nessun file che corrispondono alla searchPattern stringa in DirectoryInfo, questo metodo restituisce una matrice vuota.

Nota

Quando si usa il carattere jolly asterisco in un searchPattern (ad esempio , "*.txt"), il comportamento corrispondente varia a seconda della lunghezza dell'estensione del file specificata. Un con searchPattern un'estensione di file di esattamente tre caratteri restituisce i file con un'estensione di tre o più caratteri, in cui i primi tre caratteri corrispondono all'estensione searchPatterndel file specificata in . A searchPattern con un'estensione di file di uno, due o più di tre caratteri restituisce solo file con estensioni di esattamente quella lunghezza corrispondente all'estensione searchPatterndel file specificata in . Quando si usa il carattere jolly punto interrogativo, questo metodo restituisce solo i file corrispondenti all'estensione di file specificata. Ad esempio, dato due file in una directory, "file1.txt" e "file1.txtother", un modello di ricerca "file?.txt" restituisce solo il primo file, mentre un modello di ricerca di "file*.txt" restituisce entrambi i file.

Nota

Poiché questo metodo controlla i nomi di file con il formato nome file 8.3 e il formato di nome file lungo, un modello di ricerca simile a "*1*.txt" potrebbe restituire nomi di file imprevisti. Ad esempio, l'uso di un modello di ricerca "*1*.txt" restituirà "longfilename.txt" perché il formato di nome file 8.3 equivalente sarebbe "longf~1.txt".

Questo metodo pre-popola i valori delle proprietà seguenti FileInfo :

Vedi anche

Si applica a