DirectoryInfo.GetFiles Méthode

Définition

Retourne une liste de fichiers à partir du répertoire actif.

Surcharges

Nom Description
GetFiles(String, EnumerationOptions)

Retourne une liste de fichiers du répertoire actif correspondant aux options de recherche et d’énumération spécifiées.

GetFiles(String, SearchOption)

Retourne une liste de fichiers du répertoire actif correspondant au modèle de recherche donné et en utilisant une valeur pour déterminer s’il faut rechercher des sous-répertoires.

GetFiles()

Retourne une liste de fichiers à partir du répertoire actif.

GetFiles(String)

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

GetFiles(String, EnumerationOptions)

Retourne une liste de fichiers du répertoire actif correspondant aux options de recherche et d’énumération spécifiées.

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 de recherche à mettre en correspondance avec les noms de fichiers. Ce paramètre peut contenir une combinaison de caractères génériques et de chemins littéraux valides (* 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 fortement typés FileInfo qui correspondent searchPattern et enumerationOptions.

Exceptions

.NET Framework et les versions .NET Core 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 d’accès n’est pas valide (par exemple, il se trouve sur un lecteur non mappé).

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

Remarques

searchPattern peut être une combinaison de caractères littéraux 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 de caractères génériques Correspondances
* (astérisque) Zéro ou plusieurs 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 méthodes EnumerateFiles et GetFiles diffèrent comme suit :

  • Lorsque vous utilisez EnumerateFiles, vous pouvez commencer à énumérer la collection d’objets avant que l’ensemble de FileInfo la collection soit retourné.

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

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

Si aucun fichier n’est présent dans le DirectoryInfofichier, cette 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
* Aucun ou plusieurs 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’y a pas de fichiers, ou si aucun fichier ne correspond à la searchPattern chaîne, DirectoryInfocette méthode retourne un tableau vide.

Note

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

Note

É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 retourner des noms de fichiers inattendus. Par exemple, l’utilisation d’un modèle de recherche « *1*.txt» retourne «longfilename.txt», car le format de nom de fichier 8.3 équivalent serait « longf~1.txt».

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

S’applique à

GetFiles(String, SearchOption)

Retourne une liste de fichiers du répertoire actif correspondant au modèle de recherche donné et en utilisant une valeur pour déterminer s’il faut rechercher des 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 de recherche à mettre en correspondance avec les noms de fichiers. Ce paramètre peut contenir une combinaison de caractères génériques et de chemins littéraux valides (* et ?), mais il ne prend pas en charge les expressions régulières.

searchOption
SearchOption

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 les versions .NET Core 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 valide SearchOption .

Le chemin d’accès n’est pas valide (par exemple, il se trouve 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 part du principe qu’un répertoire contenant des fichiers nommés log1.txt, log2.txt, test1.txt, test2.txt, test3.txtet un sous-répertoire qui a 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 méthodes EnumerateFiles et GetFiles diffèrent comme suit :

  • Lorsque vous utilisez EnumerateFiles, vous pouvez commencer à énumérer la collection d’objets avant que l’ensemble de FileInfo la collection soit retourné.

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

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

Si aucun fichier n’est présent dans le DirectoryInfofichier, cette 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) Aucun ou plusieurs 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’y a pas de fichiers, ou si aucun fichier ne correspond à la searchPattern chaîne, DirectoryInfocette méthode retourne un tableau vide.

Note

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

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

  • « *.abc » retourne des fichiers ayant une extension de .abc, .abcd, .abcde, .abcdef, et ainsi de suite.

  • « *.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.

Note

É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 retourner des noms de fichiers inattendus. Par exemple, l’utilisation d’un modèle de recherche « *1*.txt» retourne «longfilename.txt», car le format de nom de fichier 8.3 équivalent serait « longf~1.txt».

Cette méthode préremplule 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()

Retourne une liste de fichiers à partir 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 d’accès n’est pas valide, 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 part du principe qu’un répertoire contenant des fichiers nommés log1.txt, log2.txt, test1.txt, test2.txt, test3.txtet un sous-répertoire qui a 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 méthodes EnumerateFiles et GetFiles diffèrent comme suit :

  • Lorsque vous utilisez EnumerateFiles, vous pouvez commencer à énumérer la collection d’objets avant que l’ensemble de FileInfo la collection soit retourné.

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

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

Si aucun fichier n’est présent dans le DirectoryInfofichier, cette 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éremplule les valeurs des propriétés suivantes FileInfo :

Voir aussi

S’applique à

GetFiles(String)

Retourne une liste de 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 de recherche à mettre en correspondance avec les noms de fichiers. Ce paramètre peut contenir une combinaison de caractères génériques et de chemins littéraux valides (* et ?), mais il ne prend pas en charge les expressions régulières.

Retours

Tableau de type FileInfo.

Exceptions

.NET Framework et les versions .NET Core 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 d’accès n’est pas valide (par exemple, il se trouve 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 part du principe qu’un répertoire contenant des fichiers nommés log1.txt, log2.txt, test1.txt, test2.txt, test3.txtet un sous-répertoire qui a 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éraux 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 de caractères génériques Correspondances
* (astérisque) Zéro ou plusieurs 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 méthodes EnumerateFiles et GetFiles diffèrent comme suit :

  • Lorsque vous utilisez EnumerateFiles, vous pouvez commencer à énumérer la collection d’objets avant que l’ensemble de FileInfo la collection soit retourné.

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

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

Si aucun fichier n’est présent dans le DirectoryInfofichier, cette 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
* Aucun ou plusieurs 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’y a pas de fichiers, ou si aucun fichier ne correspond à la searchPattern chaîne, DirectoryInfocette méthode retourne un tableau vide.

Note

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

Note

É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 retourner des noms de fichiers inattendus. Par exemple, l’utilisation d’un modèle de recherche « *1*.txt» retourne «longfilename.txt», car le format de nom de fichier 8.3 équivalent serait « longf~1.txt».

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

Voir aussi

S’applique à