DirectoryInfo.GetFiles Méthode

Définition

Retourne la liste des fichiers du répertoire actif.

Surcharges

GetFiles(String, EnumerationOptions)

Retourne une liste de fichiers du répertoire actuel correspondant au modèle de recherche et aux options d'énumération spécifiés.

GetFiles(String, SearchOption)

Retourne une liste des fichiers du répertoire actif qui correspond au modèle de recherche donné et utilise une valeur pour déterminer s'il faut effectuer une recherche dans les sous-répertoires.

GetFiles()

Retourne la liste des fichiers du répertoire actif.

GetFiles(String)

Retourne la liste des fichiers du répertoire actif correspondant au modèle de recherche donné.

GetFiles(String, EnumerationOptions)

Source:
DirectoryInfo.cs
Source:
DirectoryInfo.cs
Source:
DirectoryInfo.cs

Retourne une liste de fichiers du répertoire actuel correspondant au modèle de recherche et aux options d'énumération spécifiés.

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

Paramètres

searchPattern
String

Chaîne recherchée à trouver parmi les noms de fichiers. Ce paramètre peut contenir une combinaison d’un chemin littéral valide et de caractères génériques (* et ?), mais il ne prend pas en charge les expressions régulières.

enumerationOptions
EnumerationOptions

Objet qui décrit la configuration de recherche et d’énumération à utiliser.

Retours

Tableau d'objets FileInfo fortement typés correspondant à searchPattern et à enumerationOptions.

Exceptions

.NET Framework et .NET Core versions antérieures à 2.1 : searchPattern contient un ou plusieurs caractères non valides définis par la GetInvalidPathChars() méthode.

searchPattern a la valeur null.

Le chemin n’est pas valide (par exemple, il est sur un lecteur non mappé).

L'appelant n'a pas l'autorisation requise.

Remarques

searchPattern peut être une combinaison de caractères littéral et génériques, mais elle ne prend pas en charge les expressions régulières. Les spécificateurs génériques suivants sont autorisés dans searchPattern.

Spécificateur générique Correspond à
* (astérisque) Zéro ou plus caractères dans cette position.
? (point d’interrogation) Zéro ou un caractère dans cette position.

Les caractères autres que le caractère générique sont des caractères littérals. Par exemple, la chaîne « *t » recherche tous les noms se terminant par la lettre « t ». La searchPattern chaîne « s* » recherche tous les noms en path commençant par la lettre « s ».

Les EnumerateFiles méthodes et GetFiles diffèrent comme suit :

  • Lorsque vous utilisez EnumerateFiles, vous pouvez commencer à énumérer la collection d’objets avant que FileInfo la collection entière ne soit retournée.

  • Lorsque vous utilisez GetFiles, vous devez attendre que l’ensemble du tableau d’objets soit retourné avant de FileInfo pouvoir accéder au tableau.

Par conséquent, lorsque vous travaillez avec de nombreux fichiers et répertoires, EnumerateFiles peut être plus efficace.

S’il n’y a aucun fichier dans , DirectoryInfocette méthode retourne un tableau vide.

Les spécificateurs génériques suivants sont autorisés dans le searchPattern paramètre .

Caractère générique Description
* Zéro ou plus caractères.
? Exactement zéro ou un caractère.

L’ordre des noms de fichiers retournés n’est pas garanti ; utilisez la Sort méthode si un ordre de tri spécifique est requis.

Les caractères génériques sont autorisés. Par exemple, la searchPattern chaîne « *.txt » recherche tous les noms de fichiers ayant une extension « txt ». La searchPattern chaîne « s* » recherche tous les noms de fichiers commençant par la lettre « s ». S’il n’existe aucun fichier ou aucun fichier qui correspond à la searchPattern chaîne dans , DirectoryInfocette méthode retourne un tableau vide.

Notes

Lors de l’utilisation du caractère générique d’astérisque dans un searchPattern (par exemple, « *.txt »), le comportement de correspondance varie en fonction de la longueur de l’extension de fichier spécifiée. avec searchPattern une extension de fichier de trois caractères exactement retourne des fichiers avec une extension de trois caractères ou plus, où les trois premiers caractères correspondent à l’extension de fichier spécifiée dans .searchPattern avec searchPattern une extension de fichier d’un, deux ou plus de trois caractères retourne uniquement les fichiers avec des extensions de cette longueur exacte qui correspondent à l’extension de fichier spécifiée dans .searchPattern Lorsque vous utilisez le caractère générique de point d’interrogation, cette méthode retourne uniquement les fichiers qui correspondent à l’extension de fichier spécifiée. Par exemple, avec deux fichiers dans un répertoire, « file1.txt » et « file1.txtother », un modèle de recherche « file ?.txt » retourne uniquement le premier fichier, tandis qu’un modèle de recherche « file*.txt » renvoie les deux fichiers.

Notes

Étant donné que cette méthode vérifie les noms de fichiers au format de nom de fichier 8.3 et au format de nom de fichier long, un modèle de recherche similaire à « *1*.txt » peut renvoyer des noms de fichiers inattendus. Par exemple, l’utilisation d’un modèle de recherche « *1*.txt » renvoie « longfilename.txt », car le format de nom de fichier 8.3 équivalent est « longf~1.txt ».

Cette méthode pré-remplit les valeurs des propriétés suivantes FileInfo :

S’applique à

GetFiles(String, SearchOption)

Source:
DirectoryInfo.cs
Source:
DirectoryInfo.cs
Source:
DirectoryInfo.cs

Retourne une liste des fichiers du répertoire actif qui correspond au modèle de recherche donné et utilise une valeur pour déterminer s'il faut effectuer une recherche dans les sous-répertoires.

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

Paramètres

searchPattern
String

Chaîne recherchée à trouver parmi les noms de fichiers. Ce paramètre peut contenir une combinaison d’un chemin littéral valide et de caractères génériques (* et ?), mais il ne prend pas en charge les expressions régulières.

searchOption
SearchOption

L'une des valeurs d'énumération qui spécifie si l'opération de recherche doit inclure uniquement le répertoire actif ou tous les sous-répertoires.

Retours

Tableau de type FileInfo.

Exceptions

.NET Framework et .NET Core versions antérieures à 2.1 : searchPattern contient un ou plusieurs caractères non valides définis par la GetInvalidPathChars() méthode.

searchPattern a la valeur null.

searchOption n’est pas une valeur de SearchOption valide.

Le chemin n’est pas valide (par exemple, il est sur un lecteur non mappé).

L'appelant n'a pas l'autorisation requise.

Exemples

L’exemple suivant montre comment obtenir une liste de fichiers à partir d’un répertoire à l’aide de différentes options de recherche. L’exemple suppose un répertoire qui contient des fichiers nommés log1.txt, log2.txt, test1.txt, test2.txt, test3.txt et un sous-répertoire contenant un fichier nommé 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 . . .

Remarques

Les EnumerateFiles méthodes et GetFiles diffèrent comme suit :

  • Lorsque vous utilisez EnumerateFiles, vous pouvez commencer à énumérer la collection d’objets avant que FileInfo la collection entière ne soit retournée.

  • Lorsque vous utilisez GetFiles, vous devez attendre que l’ensemble du tableau d’objets soit retourné avant de FileInfo pouvoir accéder au tableau.

Par conséquent, lorsque vous travaillez avec de nombreux fichiers et répertoires, EnumerateFiles peut être plus efficace.

S’il n’y a aucun fichier dans , DirectoryInfocette méthode retourne un tableau vide.

Les spécificateurs génériques suivants sont autorisés dans searchPattern.

Caractère générique Description
* (astérisque) Zéro ou plus caractères.
? (point d’interrogation) Exactement zéro ou un caractère.

L’ordre des noms de fichiers retournés n’est pas garanti ; utilisez la Sort méthode si un ordre de tri spécifique est requis.

Les caractères génériques sont autorisés. Par exemple, la searchPattern chaîne « *.txt » recherche tous les noms de fichiers ayant une extension « txt ». La searchPattern chaîne « s* » recherche tous les noms de fichiers commençant par la lettre « s ». S’il n’existe aucun fichier ou aucun fichier qui correspond à la searchPattern chaîne dans , DirectoryInfocette méthode retourne un tableau vide.

Notes

Lors de l’utilisation du caractère générique d’astérisque dans un searchPattern (par exemple, « *.txt »), le comportement de correspondance varie en fonction de la longueur de l’extension de fichier spécifiée. avec searchPattern une extension de fichier de trois caractères exactement retourne des fichiers avec une extension de trois caractères ou plus, où les trois premiers caractères correspondent à l’extension de fichier spécifiée dans .searchPattern avec searchPattern une extension de fichier d’un, deux ou plus de trois caractères retourne uniquement les fichiers avec des extensions de cette longueur exacte qui correspondent à l’extension de fichier spécifiée dans .searchPattern Lorsque vous utilisez le caractère générique de point d’interrogation, cette méthode retourne uniquement les fichiers qui correspondent à l’extension de fichier spécifiée. Par exemple, avec deux fichiers dans un répertoire, « file1.txt » et « file1.txtother », un modèle de recherche « file ?.txt » retourne uniquement le premier fichier, tandis qu’un modèle de recherche « file*.txt » renvoie les deux fichiers.

La liste suivante montre le comportement de différentes longueurs pour le searchPattern paramètre :

  • « *.abc » retourne les fichiers ayant une extension .abc, .abcd, .abcde, .abcdef, etc.

  • « *.abcd » retourne uniquement les fichiers ayant une extension de .abcd.

  • « *.abcde » retourne uniquement les fichiers ayant une extension de .abcde.

  • « *.abcdef » retourne uniquement les fichiers ayant une extension de .abcdef.

Notes

Étant donné que cette méthode vérifie les noms de fichiers au format de nom de fichier 8.3 et au format de nom de fichier long, un modèle de recherche similaire à « *1*.txt » peut renvoyer des noms de fichiers inattendus. Par exemple, l’utilisation d’un modèle de recherche « *1*.txt » renvoie « longfilename.txt », car le format de nom de fichier 8.3 équivalent est « longf~1.txt ».

Cette méthode pré-remplit les valeurs des propriétés suivantes FileInfo :

  1. Attributes

  2. CreationTime

  3. CreationTimeUtc

  4. LastAccessTime

  5. LastAccessTimeUtc

  6. LastWriteTime

  7. LastWriteTimeUtc

  8. Length

Voir aussi

S’applique à

GetFiles()

Source:
DirectoryInfo.cs
Source:
DirectoryInfo.cs
Source:
DirectoryInfo.cs

Retourne la liste des fichiers du répertoire actif.

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

Retours

Tableau de type FileInfo.

Exceptions

Le chemin spécifié n’est pas valide ; il est, par exemple, sur un lecteur non mappé.

Exemples

L’exemple suivant montre comment obtenir une liste de fichiers à partir d’un répertoire à l’aide de différentes options de recherche. L’exemple suppose un répertoire qui contient des fichiers nommés log1.txt, log2.txt, test1.txt, test2.txt, test3.txt et un sous-répertoire contenant un fichier nommé 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 . . .

Remarques

Les EnumerateFiles méthodes et GetFiles diffèrent comme suit :

  • Lorsque vous utilisez EnumerateFiles, vous pouvez commencer à énumérer la collection d’objets avant que FileInfo la collection entière ne soit retournée.

  • Lorsque vous utilisez GetFiles, vous devez attendre que l’ensemble du tableau d’objets soit retourné avant de FileInfo pouvoir accéder au tableau.

Par conséquent, lorsque vous travaillez avec de nombreux fichiers et répertoires, EnumerateFiles peut être plus efficace.

S’il n’y a aucun fichier dans , DirectoryInfocette méthode retourne un tableau vide.

L’ordre des noms de fichiers retournés n’est pas garanti ; utilisez la Sort méthode si un ordre de tri spécifique est requis.

Cette méthode pré-remplit les valeurs des propriétés suivantes FileInfo :

Voir aussi

S’applique à

GetFiles(String)

Source:
DirectoryInfo.cs
Source:
DirectoryInfo.cs
Source:
DirectoryInfo.cs

Retourne la liste des fichiers du répertoire actif correspondant au modèle de recherche donné.

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

Paramètres

searchPattern
String

Chaîne recherchée à trouver parmi les noms de fichiers. Ce paramètre peut contenir une combinaison d’un chemin littéral valide et de caractères génériques (* et ?), mais il ne prend pas en charge les expressions régulières.

Retours

Tableau de type FileInfo.

Exceptions

.NET Framework et .NET Core versions antérieures à 2.1 : searchPattern contient un ou plusieurs caractères non valides définis par la GetInvalidPathChars() méthode.

searchPattern a la valeur null.

Le chemin n’est pas valide (par exemple, il est sur un lecteur non mappé).

L'appelant n'a pas l'autorisation requise.

Exemples

L’exemple suivant montre comment obtenir une liste de fichiers à partir d’un répertoire à l’aide de différentes options de recherche. L’exemple suppose un répertoire qui contient des fichiers nommés log1.txt, log2.txt, test1.txt, test2.txt, test3.txt et un sous-répertoire contenant un fichier nommé 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 . . .

Remarques

searchPattern peut être une combinaison de caractères littéral et génériques, mais elle ne prend pas en charge les expressions régulières. Les spécificateurs génériques suivants sont autorisés dans searchPattern.

Spécificateur générique Correspond à
* (astérisque) Zéro ou plus caractères dans cette position.
? (point d’interrogation) Zéro ou un caractère dans cette position.

Les caractères autres que le caractère générique sont des caractères littérals. Par exemple, la chaîne « *t » recherche tous les noms se terminant par la lettre « t ». La searchPattern chaîne « s* » recherche tous les noms en path commençant par la lettre « s ».

Les EnumerateFiles méthodes et GetFiles diffèrent comme suit :

  • Lorsque vous utilisez EnumerateFiles, vous pouvez commencer à énumérer la collection d’objets avant que FileInfo la collection entière ne soit retournée.

  • Lorsque vous utilisez GetFiles, vous devez attendre que l’ensemble du tableau d’objets soit retourné avant de FileInfo pouvoir accéder au tableau.

Par conséquent, lorsque vous travaillez avec de nombreux fichiers et répertoires, EnumerateFiles peut être plus efficace.

S’il n’y a aucun fichier dans , DirectoryInfocette méthode retourne un tableau vide.

Les spécificateurs génériques suivants sont autorisés dans le searchPattern paramètre .

Caractère générique Description
* Zéro ou plus caractères.
? Exactement zéro ou un caractère.

L’ordre des noms de fichiers retournés n’est pas garanti ; utilisez la Sort méthode si un ordre de tri spécifique est requis.

Les caractères génériques sont autorisés. Par exemple, la searchPattern chaîne « *.txt » recherche tous les noms de fichiers ayant une extension « txt ». La searchPattern chaîne « s* » recherche tous les noms de fichiers commençant par la lettre « s ». S’il n’existe aucun fichier ou aucun fichier qui correspond à la searchPattern chaîne dans , DirectoryInfocette méthode retourne un tableau vide.

Notes

Lors de l’utilisation du caractère générique d’astérisque dans un searchPattern (par exemple, « *.txt »), le comportement de correspondance varie en fonction de la longueur de l’extension de fichier spécifiée. avec searchPattern une extension de fichier de trois caractères exactement retourne des fichiers avec une extension de trois caractères ou plus, où les trois premiers caractères correspondent à l’extension de fichier spécifiée dans .searchPattern avec searchPattern une extension de fichier d’un, deux ou plus de trois caractères retourne uniquement les fichiers avec des extensions de cette longueur exacte qui correspondent à l’extension de fichier spécifiée dans .searchPattern Lorsque vous utilisez le caractère générique de point d’interrogation, cette méthode retourne uniquement les fichiers qui correspondent à l’extension de fichier spécifiée. Par exemple, avec deux fichiers dans un répertoire, « file1.txt » et « file1.txtother », un modèle de recherche « file ?.txt » retourne uniquement le premier fichier, tandis qu’un modèle de recherche « file*.txt » renvoie les deux fichiers.

Notes

Étant donné que cette méthode vérifie les noms de fichiers au format de nom de fichier 8.3 et au format de nom de fichier long, un modèle de recherche similaire à « *1*.txt » peut renvoyer des noms de fichiers inattendus. Par exemple, l’utilisation d’un modèle de recherche « *1*.txt » renvoie « longfilename.txt », car le format de nom de fichier 8.3 équivalent est « longf~1.txt ».

Cette méthode pré-remplit les valeurs des propriétés suivantes FileInfo :

Voir aussi

S’applique à