DirectoryInfo.GetFiles Méthode
Définition
Important
Certaines informations portent sur la préversion du produit qui est susceptible d’être en grande partie modifiée avant sa publication. Microsoft exclut toute garantie, expresse ou implicite, concernant les informations fournies ici.
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 :
Voir aussi
- Fichier et flux de données E/S
- Procédure : lire le texte d’un fichier
- Procédure : écrire du texte dans un fichier
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
- Fichier et flux de données E/S
- Procédure : lire le texte d’un fichier
- Procédure : écrire du texte dans un fichier
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
- Fichier et flux de données E/S
- Procédure : lire le texte d’un fichier
- Procédure : écrire du texte dans un fichier