Directory.GetFileSystemEntries 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 les noms de tous les fichiers et sous-répertoires qui répondent aux critères spécifiés.
Surcharges
| Nom | Description |
|---|---|
| GetFileSystemEntries(String) |
Retourne les noms de tous les fichiers et sous-répertoires dans un chemin d’accès spécifié. |
| GetFileSystemEntries(String, String) |
Retourne un tableau de noms de fichiers et de noms de répertoires qui correspondent à un modèle de recherche dans un chemin d’accès spécifié. |
| GetFileSystemEntries(String, String, EnumerationOptions) |
Retourne un tableau de noms de fichiers et de noms de répertoires qui correspondent à un modèle de recherche et des options d’énumération dans un chemin d’accès spécifié. |
| GetFileSystemEntries(String, String, SearchOption) |
Retourne un tableau de tous les noms de fichiers et noms de répertoires qui correspondent à un modèle de recherche dans un chemin d’accès spécifié, et recherche éventuellement les sous-répertoires. |
GetFileSystemEntries(String)
Retourne les noms de tous les fichiers et sous-répertoires dans un chemin d’accès spécifié.
public:
static cli::array <System::String ^> ^ GetFileSystemEntries(System::String ^ path);
public static string[] GetFileSystemEntries(string path);
static member GetFileSystemEntries : string -> string[]
Public Shared Function GetFileSystemEntries (path As String) As String()
Paramètres
- path
- String
Chemin d’accès relatif ou absolu au répertoire à rechercher. Cette chaîne n’est pas sensible à la casse.
Retours
Tableau des noms de fichiers et de sous-répertoires dans le répertoire spécifié, ou tableau vide si aucun fichier ou sous-répertoire n’est trouvé.
Exceptions
L’appelant n’a pas l’autorisation requise.
.NET Framework et les versions .NET Core antérieures à 2.1 : path est une chaîne de longueur nulle, contient uniquement un espace blanc ou contient un ou plusieurs caractères non valides. Vous pouvez rechercher des caractères non valides avec GetInvalidPathChars().
path a la valeur null.
Le chemin d’accès spécifié, le nom de fichier ou les deux dépassent la longueur maximale définie par le système.
path est un nom de fichier.
Le chemin spécifié n’est pas valide (par exemple, il se trouve sur un lecteur non mappé).
Exemples
L’exemple suivant utilise la GetFileSystemEntries méthode pour remplir un tableau de chaînes avec les noms de tous les fichiers et sous-répertoires dans un emplacement spécifié par l’utilisateur et imprime chaque chaîne dans le tableau dans la console. L’exemple est configuré pour intercepter toutes les erreurs communes à cette méthode.
using System;
namespace GetFileSystemEntries
{
class Class1
{
static void Main(string[] args)
{
Class1 snippets = new Class1();
string path = System.IO.Directory.GetCurrentDirectory();
string filter = "*.exe";
snippets.PrintFileSystemEntries(path);
snippets.PrintFileSystemEntries(path, filter);
snippets.GetLogicalDrives();
snippets.GetParent(path);
snippets.Move("C:\\proof", "C:\\Temp");
}
void PrintFileSystemEntries(string path)
{
try
{
// Obtain the file system entries in the directory path.
string[] directoryEntries =
System.IO.Directory.GetFileSystemEntries(path);
foreach (string str in directoryEntries)
{
System.Console.WriteLine(str);
}
}
catch (ArgumentNullException)
{
System.Console.WriteLine("Path is a null reference.");
}
catch (System.Security.SecurityException)
{
System.Console.WriteLine("The caller does not have the " +
"required permission.");
}
catch (ArgumentException)
{
System.Console.WriteLine("Path is an empty string, " +
"contains only white spaces, " +
"or contains invalid characters.");
}
catch (System.IO.DirectoryNotFoundException)
{
System.Console.WriteLine("The path encapsulated in the " +
"Directory object does not exist.");
}
}
void PrintFileSystemEntries(string path, string pattern)
{
try
{
// Obtain the file system entries in the directory
// path that match the pattern.
string[] directoryEntries =
System.IO.Directory.GetFileSystemEntries(path, pattern);
foreach (string str in directoryEntries)
{
System.Console.WriteLine(str);
}
}
catch (ArgumentNullException)
{
System.Console.WriteLine("Path is a null reference.");
}
catch (System.Security.SecurityException)
{
System.Console.WriteLine("The caller does not have the " +
"required permission.");
}
catch (ArgumentException)
{
System.Console.WriteLine("Path is an empty string, " +
"contains only white spaces, " +
"or contains invalid characters.");
}
catch (System.IO.DirectoryNotFoundException)
{
System.Console.WriteLine("The path encapsulated in the " +
"Directory object does not exist.");
}
}
// Print out all logical drives on the system.
void GetLogicalDrives()
{
try
{
string[] drives = System.IO.Directory.GetLogicalDrives();
foreach (string str in drives)
{
System.Console.WriteLine(str);
}
}
catch (System.IO.IOException)
{
System.Console.WriteLine("An I/O error occurs.");
}
catch (System.Security.SecurityException)
{
System.Console.WriteLine("The caller does not have the " +
"required permission.");
}
}
void GetParent(string path)
{
try
{
System.IO.DirectoryInfo directoryInfo =
System.IO.Directory.GetParent(path);
System.Console.WriteLine(directoryInfo.FullName);
}
catch (ArgumentNullException)
{
System.Console.WriteLine("Path is a null reference.");
}
catch (ArgumentException)
{
System.Console.WriteLine("Path is an empty string, " +
"contains only white spaces, or " +
"contains invalid characters.");
}
}
void Move(string sourcePath, string destinationPath)
{
try
{
System.IO.Directory.Move(sourcePath, destinationPath);
System.Console.WriteLine("The directory move is complete.");
}
catch (ArgumentNullException)
{
System.Console.WriteLine("Path is a null reference.");
}
catch (System.Security.SecurityException)
{
System.Console.WriteLine("The caller does not have the " +
"required permission.");
}
catch (ArgumentException)
{
System.Console.WriteLine("Path is an empty string, " +
"contains only white spaces, " +
"or contains invalid characters.");
}
catch (System.IO.IOException)
{
System.Console.WriteLine("An attempt was made to move a " +
"directory to a different " +
"volume, or destDirName " +
"already exists.");
}
}
}
}
open System
open System.IO
open System.Security
let printFileSystemEntries path =
try
// Obtain the file system entries in the directory path.
let directoryEntries = Directory.GetFileSystemEntries path
for str in directoryEntries do
printfn $"{str}"
with
| :? ArgumentNullException ->
printfn "Path is a null reference."
| :? SecurityException ->
printfn $"The caller does not have the required permission."
| :? ArgumentException ->
printfn $"Path is an empty string, contains only white spaces, or contains invalid characters."
| :? DirectoryNotFoundException ->
printfn $"The path encapsulated in the Directory object does not exist."
let printFileSystemEntriesPattern path pattern =
try
// Obtain the file system entries in the directory
// path that match the pattern.
let directoryEntries = Directory.GetFileSystemEntries(path, pattern)
for str in directoryEntries do
printfn $"{str}"
with
| :? ArgumentNullException -> printfn "Path is a null reference."
| :? SecurityException -> printfn "The caller does not have the required permission."
| :? ArgumentException -> printfn "Path is an empty string, contains only white spaces, or contains invalid characters."
| :? DirectoryNotFoundException -> printfn "The path encapsulated in the Directory object does not exist."
// Print out all logical drives on the system.
let getLogicalDrives () =
try
let drives = Directory.GetLogicalDrives()
for str in drives do
printfn $"{str}"
with
| :? IOException -> printfn "An I/O error occurs."
| :? SecurityException -> printfn "The caller does not have the required permission."
let getParent path =
try
let directoryInfo = Directory.GetParent path
printfn $"{directoryInfo.FullName}"
with
| :? ArgumentNullException -> printfn "Path is a null reference."
| :? ArgumentException -> printfn "Path is an empty string, contains only white spaces, or contains invalid characters."
let move sourcePath destinationPath =
try
Directory.Move(sourcePath, destinationPath)
printfn "The directory move is complete."
with
| :? ArgumentNullException -> printfn "Path is a null reference."
| :? SecurityException -> printfn "The caller does not have the required permission."
| :? ArgumentException -> printfn "Path is an empty string, contains only white spaces, or contains invalid characters."
| :? IOException -> printfn "An attempt was made to move a directory to a different volume, or destDirName already exists."
let path = Directory.GetCurrentDirectory()
let filter = "*.exe"
printFileSystemEntries path
printFileSystemEntriesPattern path filter
getLogicalDrives ()
getParent path
move "C:\\proof" "C:\\Temp"
Option Explicit On
Option Strict On
Namespace GetFileSystemEntries
Class Class1
Overloads Shared Sub Main(ByVal args() As String)
Dim snippets As New Class1()
Dim path As String = System.IO.Directory.GetCurrentDirectory()
Dim filter As String = "*.exe"
snippets.PrintFileSystemEntries(path)
snippets.PrintFileSystemEntries(path, filter)
snippets.GetLogicalDrives()
snippets.GetParent(path)
snippets.Move("C:\proof", "C:\Temp")
End Sub
Sub PrintFileSystemEntries(ByVal path As String)
Try
' Obtain the file system entries in the directory path.
Dim directoryEntries As String()
directoryEntries = System.IO.Directory.GetFileSystemEntries(path)
Dim str As String
For Each str In directoryEntries
System.Console.WriteLine(str)
Next str
Catch exp As ArgumentNullException
System.Console.WriteLine("Path is a null reference.")
Catch exp As System.Security.SecurityException
System.Console.WriteLine("The caller does not have the " + _
"required permission.")
Catch exp As ArgumentException
System.Console.WriteLine("Path is an empty string, " + _
"contains only white spaces, " + _
"or contains invalid characters.")
Catch exp As System.IO.DirectoryNotFoundException
System.Console.WriteLine("The path encapsulated in the " + _
"Directory object does not exist.")
End Try
End Sub
Sub PrintFileSystemEntries(ByVal path As String, _
ByVal pattern As String)
Try
' Obtain the file system entries in the directory
' path that match the pattern.
Dim directoryEntries As String()
directoryEntries = _
System.IO.Directory.GetFileSystemEntries(path, pattern)
Dim str As String
For Each str In directoryEntries
System.Console.WriteLine(str)
Next str
Catch exp As ArgumentNullException
System.Console.WriteLine("Path is a null reference.")
Catch exp As System.Security.SecurityException
System.Console.WriteLine("The caller does not have the " + _
"required permission.")
Catch exp As ArgumentException
System.Console.WriteLine("Path is an empty string, " + _
"contains only white spaces, " + _
"or contains invalid characters.")
Catch exp As System.IO.DirectoryNotFoundException
System.Console.WriteLine("The path encapsulated in the " + _
"Directory object does not exist.")
End Try
End Sub
' Print out all logical drives on the system.
Sub GetLogicalDrives()
Try
Dim drives As String()
drives = System.IO.Directory.GetLogicalDrives()
Dim str As String
For Each str In drives
System.Console.WriteLine(str)
Next str
Catch exp As System.IO.IOException
System.Console.WriteLine("An I/O error occurs.")
Catch exp As System.Security.SecurityException
System.Console.WriteLine("The caller does not have the " + _
"required permission.")
End Try
End Sub
Sub GetParent(ByVal path As String)
Try
Dim directoryInfo As System.IO.DirectoryInfo
directoryInfo = System.IO.Directory.GetParent(path)
System.Console.WriteLine(directoryInfo.FullName)
Catch exp As ArgumentNullException
System.Console.WriteLine("Path is a null reference.")
Catch exp As ArgumentException
System.Console.WriteLine("Path is an empty string, " + _
"contains only white spaces, or " + _
"contains invalid characters.")
End Try
End Sub
Sub Move(ByVal sourcePath As String, ByVal destinationPath As String)
Try
System.IO.Directory.Move(sourcePath, destinationPath)
System.Console.WriteLine("The directory move is complete.")
Catch exp As ArgumentNullException
System.Console.WriteLine("Path is a null reference.")
Catch exp As System.Security.SecurityException
System.Console.WriteLine("The caller does not have the " + _
"required permission.")
Catch exp As ArgumentException
System.Console.WriteLine("Path is an empty string, " + _
"contains only white spaces, " + _
"or contains invalid characters.")
Catch exp As System.IO.IOException
System.Console.WriteLine("An attempt was made to move a " + _
"directory to a different " + _
"volume, or destDirName " + _
"already exists.")
End Try
End Sub
End Class
End Namespace
Remarques
L’ordre des noms de fichiers et de répertoires retournés n’est pas garanti ; utilisez la Sort méthode si un ordre de tri spécifique est requis.
Les EnumerateFileSystemEntries méthodes et GetFileSystemEntries les méthodes diffèrent comme suit : Lorsque vous utilisez EnumerateFileSystemEntries, vous pouvez commencer à énumérer la collection d’entrées avant que la collection entière soit retournée . Lorsque vous utilisez GetFileSystemEntries, vous devez attendre que l’ensemble du tableau d’entrées soit retourné avant de pouvoir accéder au tableau. Par conséquent, lorsque vous travaillez avec de nombreux fichiers et répertoires, EnumerateFileSystemEntries vous pouvez être plus efficace.
Cette méthode est identique à GetFileSystemEntries celle spécifiée par l’astérisque (*) spécifié comme modèle de recherche.
Le path paramètre est autorisé à spécifier des informations relatives ou absolues sur le chemin d’accès. Les informations relatives au chemin d’accès sont interprétées comme relatives au répertoire de travail actuel. Pour obtenir le répertoire de travail actuel, consultez GetCurrentDirectory.
La sensibilité de la casse du path paramètre correspond à celle du système de fichiers sur lequel le code est en cours d’exécution. Par exemple, il ne respecte pas la casse sur NTFS (le système de fichiers Windows par défaut) et respecte la casse sur les systèmes de fichiers Linux.
Pour obtenir la liste des tâches d’E/S courantes, consultez Tâches d’E/S courantes.
Voir aussi
- FileSystemWatcher
- FileSystemInfo
- E/S de fichier et de flux
- Guide pratique pour lire du texte à partir d’un fichier
- Guide pratique pour écrire du texte dans un fichier
S’applique à
GetFileSystemEntries(String, String)
Retourne un tableau de noms de fichiers et de noms de répertoires qui correspondent à un modèle de recherche dans un chemin d’accès spécifié.
public:
static cli::array <System::String ^> ^ GetFileSystemEntries(System::String ^ path, System::String ^ searchPattern);
public static string[] GetFileSystemEntries(string path, string searchPattern);
static member GetFileSystemEntries : string * string -> string[]
Public Shared Function GetFileSystemEntries (path As String, searchPattern As String) As String()
Paramètres
- path
- String
Chemin d’accès relatif ou absolu au répertoire à rechercher. Cette chaîne n’est pas sensible à la casse.
- searchPattern
- String
Chaîne de recherche à mettre en correspondance avec les noms des fichiers et répertoires dans path. 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 noms de fichiers et noms de répertoires qui correspondent aux critères de recherche spécifiés ou à un tableau vide si aucun fichier ou répertoire n’est trouvé.
Exceptions
L’appelant n’a pas l’autorisation requise.
.NET Framework et les versions .NET Core antérieures à 2.1 : path est une chaîne de longueur nulle, contient uniquement un espace blanc ou contient un ou plusieurs caractères non valides. Vous pouvez rechercher des caractères non valides avec la GetInvalidPathChars() méthode.
-ou-
searchPattern ne contient pas de modèle valide.
path ou searchPattern est null.
Le chemin d’accès spécifié, le nom de fichier ou les deux dépassent la longueur maximale définie par le système.
path est un nom de fichier.
Le chemin spécifié n’est pas valide (par exemple, il se trouve sur un lecteur non mappé).
Exemples
L’exemple suivant utilise la GetFileSystemEntries méthode pour remplir un tableau de chaînes avec les noms de tous les fichiers correspondant à un filtre spécifié par l’utilisateur dans un emplacement spécifique et imprime chaque chaîne du tableau dans la console. L’exemple est configuré pour intercepter toutes les erreurs communes à cette méthode.
using System;
namespace GetFileSystemEntries
{
class Class1
{
static void Main(string[] args)
{
Class1 snippets = new Class1();
string path = System.IO.Directory.GetCurrentDirectory();
string filter = "*.exe";
snippets.PrintFileSystemEntries(path);
snippets.PrintFileSystemEntries(path, filter);
snippets.GetLogicalDrives();
snippets.GetParent(path);
snippets.Move("C:\\proof", "C:\\Temp");
}
void PrintFileSystemEntries(string path)
{
try
{
// Obtain the file system entries in the directory path.
string[] directoryEntries =
System.IO.Directory.GetFileSystemEntries(path);
foreach (string str in directoryEntries)
{
System.Console.WriteLine(str);
}
}
catch (ArgumentNullException)
{
System.Console.WriteLine("Path is a null reference.");
}
catch (System.Security.SecurityException)
{
System.Console.WriteLine("The caller does not have the " +
"required permission.");
}
catch (ArgumentException)
{
System.Console.WriteLine("Path is an empty string, " +
"contains only white spaces, " +
"or contains invalid characters.");
}
catch (System.IO.DirectoryNotFoundException)
{
System.Console.WriteLine("The path encapsulated in the " +
"Directory object does not exist.");
}
}
void PrintFileSystemEntries(string path, string pattern)
{
try
{
// Obtain the file system entries in the directory
// path that match the pattern.
string[] directoryEntries =
System.IO.Directory.GetFileSystemEntries(path, pattern);
foreach (string str in directoryEntries)
{
System.Console.WriteLine(str);
}
}
catch (ArgumentNullException)
{
System.Console.WriteLine("Path is a null reference.");
}
catch (System.Security.SecurityException)
{
System.Console.WriteLine("The caller does not have the " +
"required permission.");
}
catch (ArgumentException)
{
System.Console.WriteLine("Path is an empty string, " +
"contains only white spaces, " +
"or contains invalid characters.");
}
catch (System.IO.DirectoryNotFoundException)
{
System.Console.WriteLine("The path encapsulated in the " +
"Directory object does not exist.");
}
}
// Print out all logical drives on the system.
void GetLogicalDrives()
{
try
{
string[] drives = System.IO.Directory.GetLogicalDrives();
foreach (string str in drives)
{
System.Console.WriteLine(str);
}
}
catch (System.IO.IOException)
{
System.Console.WriteLine("An I/O error occurs.");
}
catch (System.Security.SecurityException)
{
System.Console.WriteLine("The caller does not have the " +
"required permission.");
}
}
void GetParent(string path)
{
try
{
System.IO.DirectoryInfo directoryInfo =
System.IO.Directory.GetParent(path);
System.Console.WriteLine(directoryInfo.FullName);
}
catch (ArgumentNullException)
{
System.Console.WriteLine("Path is a null reference.");
}
catch (ArgumentException)
{
System.Console.WriteLine("Path is an empty string, " +
"contains only white spaces, or " +
"contains invalid characters.");
}
}
void Move(string sourcePath, string destinationPath)
{
try
{
System.IO.Directory.Move(sourcePath, destinationPath);
System.Console.WriteLine("The directory move is complete.");
}
catch (ArgumentNullException)
{
System.Console.WriteLine("Path is a null reference.");
}
catch (System.Security.SecurityException)
{
System.Console.WriteLine("The caller does not have the " +
"required permission.");
}
catch (ArgumentException)
{
System.Console.WriteLine("Path is an empty string, " +
"contains only white spaces, " +
"or contains invalid characters.");
}
catch (System.IO.IOException)
{
System.Console.WriteLine("An attempt was made to move a " +
"directory to a different " +
"volume, or destDirName " +
"already exists.");
}
}
}
}
open System
open System.IO
open System.Security
let printFileSystemEntries path =
try
// Obtain the file system entries in the directory path.
let directoryEntries = Directory.GetFileSystemEntries path
for str in directoryEntries do
printfn $"{str}"
with
| :? ArgumentNullException ->
printfn "Path is a null reference."
| :? SecurityException ->
printfn $"The caller does not have the required permission."
| :? ArgumentException ->
printfn $"Path is an empty string, contains only white spaces, or contains invalid characters."
| :? DirectoryNotFoundException ->
printfn $"The path encapsulated in the Directory object does not exist."
let printFileSystemEntriesPattern path pattern =
try
// Obtain the file system entries in the directory
// path that match the pattern.
let directoryEntries = Directory.GetFileSystemEntries(path, pattern)
for str in directoryEntries do
printfn $"{str}"
with
| :? ArgumentNullException -> printfn "Path is a null reference."
| :? SecurityException -> printfn "The caller does not have the required permission."
| :? ArgumentException -> printfn "Path is an empty string, contains only white spaces, or contains invalid characters."
| :? DirectoryNotFoundException -> printfn "The path encapsulated in the Directory object does not exist."
// Print out all logical drives on the system.
let getLogicalDrives () =
try
let drives = Directory.GetLogicalDrives()
for str in drives do
printfn $"{str}"
with
| :? IOException -> printfn "An I/O error occurs."
| :? SecurityException -> printfn "The caller does not have the required permission."
let getParent path =
try
let directoryInfo = Directory.GetParent path
printfn $"{directoryInfo.FullName}"
with
| :? ArgumentNullException -> printfn "Path is a null reference."
| :? ArgumentException -> printfn "Path is an empty string, contains only white spaces, or contains invalid characters."
let move sourcePath destinationPath =
try
Directory.Move(sourcePath, destinationPath)
printfn "The directory move is complete."
with
| :? ArgumentNullException -> printfn "Path is a null reference."
| :? SecurityException -> printfn "The caller does not have the required permission."
| :? ArgumentException -> printfn "Path is an empty string, contains only white spaces, or contains invalid characters."
| :? IOException -> printfn "An attempt was made to move a directory to a different volume, or destDirName already exists."
let path = Directory.GetCurrentDirectory()
let filter = "*.exe"
printFileSystemEntries path
printFileSystemEntriesPattern path filter
getLogicalDrives ()
getParent path
move "C:\\proof" "C:\\Temp"
Option Explicit On
Option Strict On
Namespace GetFileSystemEntries
Class Class1
Overloads Shared Sub Main(ByVal args() As String)
Dim snippets As New Class1()
Dim path As String = System.IO.Directory.GetCurrentDirectory()
Dim filter As String = "*.exe"
snippets.PrintFileSystemEntries(path)
snippets.PrintFileSystemEntries(path, filter)
snippets.GetLogicalDrives()
snippets.GetParent(path)
snippets.Move("C:\proof", "C:\Temp")
End Sub
Sub PrintFileSystemEntries(ByVal path As String)
Try
' Obtain the file system entries in the directory path.
Dim directoryEntries As String()
directoryEntries = System.IO.Directory.GetFileSystemEntries(path)
Dim str As String
For Each str In directoryEntries
System.Console.WriteLine(str)
Next str
Catch exp As ArgumentNullException
System.Console.WriteLine("Path is a null reference.")
Catch exp As System.Security.SecurityException
System.Console.WriteLine("The caller does not have the " + _
"required permission.")
Catch exp As ArgumentException
System.Console.WriteLine("Path is an empty string, " + _
"contains only white spaces, " + _
"or contains invalid characters.")
Catch exp As System.IO.DirectoryNotFoundException
System.Console.WriteLine("The path encapsulated in the " + _
"Directory object does not exist.")
End Try
End Sub
Sub PrintFileSystemEntries(ByVal path As String, _
ByVal pattern As String)
Try
' Obtain the file system entries in the directory
' path that match the pattern.
Dim directoryEntries As String()
directoryEntries = _
System.IO.Directory.GetFileSystemEntries(path, pattern)
Dim str As String
For Each str In directoryEntries
System.Console.WriteLine(str)
Next str
Catch exp As ArgumentNullException
System.Console.WriteLine("Path is a null reference.")
Catch exp As System.Security.SecurityException
System.Console.WriteLine("The caller does not have the " + _
"required permission.")
Catch exp As ArgumentException
System.Console.WriteLine("Path is an empty string, " + _
"contains only white spaces, " + _
"or contains invalid characters.")
Catch exp As System.IO.DirectoryNotFoundException
System.Console.WriteLine("The path encapsulated in the " + _
"Directory object does not exist.")
End Try
End Sub
' Print out all logical drives on the system.
Sub GetLogicalDrives()
Try
Dim drives As String()
drives = System.IO.Directory.GetLogicalDrives()
Dim str As String
For Each str In drives
System.Console.WriteLine(str)
Next str
Catch exp As System.IO.IOException
System.Console.WriteLine("An I/O error occurs.")
Catch exp As System.Security.SecurityException
System.Console.WriteLine("The caller does not have the " + _
"required permission.")
End Try
End Sub
Sub GetParent(ByVal path As String)
Try
Dim directoryInfo As System.IO.DirectoryInfo
directoryInfo = System.IO.Directory.GetParent(path)
System.Console.WriteLine(directoryInfo.FullName)
Catch exp As ArgumentNullException
System.Console.WriteLine("Path is a null reference.")
Catch exp As ArgumentException
System.Console.WriteLine("Path is an empty string, " + _
"contains only white spaces, or " + _
"contains invalid characters.")
End Try
End Sub
Sub Move(ByVal sourcePath As String, ByVal destinationPath As String)
Try
System.IO.Directory.Move(sourcePath, destinationPath)
System.Console.WriteLine("The directory move is complete.")
Catch exp As ArgumentNullException
System.Console.WriteLine("Path is a null reference.")
Catch exp As System.Security.SecurityException
System.Console.WriteLine("The caller does not have the " + _
"required permission.")
Catch exp As ArgumentException
System.Console.WriteLine("Path is an empty string, " + _
"contains only white spaces, " + _
"or contains invalid characters.")
Catch exp As System.IO.IOException
System.Console.WriteLine("An attempt was made to move a " + _
"directory to a different " + _
"volume, or destDirName " + _
"already exists.")
End Try
End Sub
End Class
End Namespace
Remarques
L’ordre des noms de fichiers et de répertoires retournés n’est pas garanti ; utilisez la Sort méthode si un ordre de tri spécifique est requis.
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) | Exactement 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 searchPattern chaîne « *t » recherche tous les noms se path terminant par la lettre « t ». La searchPattern chaîne « s* » recherche tous les noms en path commençant par la lettre « s ».
searchPattern ne peut pas se terminer par deux périodes (« .. ») ou contenir deux points (« .. ») suivis DirectorySeparatorChar ou AltDirectorySeparatorChar, ni ne peuvent contenir de caractères non valides. Vous pouvez rechercher des caractères non valides à l’aide de la méthode GetInvalidPathChars.
Note
Lorsque vous utilisez le caractère générique astérisque dans un searchPattern caractère générique tel que « *.txt», le nombre de caractères dans l’extension spécifiée affecte la recherche comme suit :
- Si l’extension spécifiée est exactement trois caractères, la méthode retourne des fichiers avec des extensions qui commencent par l’extension spécifiée. Par exemple, « *.xls» retourne à la fois «book.xls» et «book.xlsx».
- Dans tous les autres cas, la méthode retourne des fichiers qui correspondent exactement à l’extension spécifiée. Par exemple, « *.ai » retourne « file.ai », mais pas « file.aif ».
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, «file1.txt» et « file1.txtother », dans un répertoire, 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.
Le path paramètre est autorisé à spécifier des informations relatives ou absolues sur le chemin d’accès. Les informations relatives au chemin d’accès sont interprétées comme relatives au répertoire de travail actuel. Pour obtenir le répertoire de travail actuel, consultez GetCurrentDirectory.
La sensibilité de la casse du path paramètre correspond à celle du système de fichiers sur lequel le code est en cours d’exécution. Par exemple, il ne respecte pas la casse sur NTFS (le système de fichiers Windows par défaut) et respecte la casse sur les systèmes de fichiers Linux.
Pour obtenir la liste des tâches d’E/S courantes, consultez Tâches d’E/S courantes.
Voir aussi
- FileSystemInfo
- FileSystemWatcher
- E/S de fichier et de flux
- Guide pratique pour lire du texte à partir d’un fichier
- Guide pratique pour écrire du texte dans un fichier
S’applique à
GetFileSystemEntries(String, String, EnumerationOptions)
Retourne un tableau de noms de fichiers et de noms de répertoires qui correspondent à un modèle de recherche et des options d’énumération dans un chemin d’accès spécifié.
public:
static cli::array <System::String ^> ^ GetFileSystemEntries(System::String ^ path, System::String ^ searchPattern, System::IO::EnumerationOptions ^ enumerationOptions);
public static string[] GetFileSystemEntries(string path, string searchPattern, System.IO.EnumerationOptions enumerationOptions);
static member GetFileSystemEntries : string * string * System.IO.EnumerationOptions -> string[]
Public Shared Function GetFileSystemEntries (path As String, searchPattern As String, enumerationOptions As EnumerationOptions) As String()
Paramètres
- path
- String
Chemin d’accès relatif ou absolu au répertoire à rechercher. Cette chaîne n’est pas sensible à la casse.
- searchPattern
- String
Chaîne de recherche à mettre en correspondance avec les noms des fichiers et répertoires dans path. Ce paramètre peut contenir une combinaison de caractères littéraux et génériques valides, 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 de noms de fichiers et noms de répertoires correspondant aux options de recherche et d’énumération spécifiées, ou tableau vide si aucun fichier ou répertoire n’est trouvé.
Exceptions
L’appelant n’a pas l’autorisation requise.
.NET Framework et les versions .NET Core antérieures à 2.1 : path est une chaîne de longueur nulle, contient uniquement un espace blanc ou contient un ou plusieurs caractères non valides. Vous pouvez rechercher des caractères non valides avec la GetInvalidPathChars() méthode.
-ou-
searchPattern ne contient pas de modèle valide.
path ou searchPattern est null.
Le chemin d’accès spécifié, le nom de fichier ou les deux dépassent la longueur maximale définie par le système.
path est un nom de fichier.
Le chemin spécifié n’est pas valide (par exemple, il se trouve sur un lecteur non mappé).
Remarques
L’ordre des noms de fichiers et de répertoires retournés n’est pas garanti ; utilisez la Sort méthode si un ordre de tri spécifique est requis.
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) | Exactement 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 searchPattern chaîne « *t » recherche tous les noms se path terminant par la lettre « t ». La searchPattern chaîne « s* » recherche tous les noms en path commençant par la lettre « s ».
searchPattern ne peut pas se terminer par deux périodes (« .. ») ou contenir deux points (« .. ») suivis DirectorySeparatorChar ou AltDirectorySeparatorChar, ni ne peuvent contenir de caractères non valides. Vous pouvez rechercher des caractères non valides à l’aide de la méthode GetInvalidPathChars.
Note
Lorsque vous utilisez le caractère générique astérisque dans un searchPattern caractère générique tel que « *.txt», le nombre de caractères dans l’extension spécifiée affecte la recherche comme suit :
- Si l’extension spécifiée est exactement trois caractères, la méthode retourne des fichiers avec des extensions qui commencent par l’extension spécifiée. Par exemple, « *.xls» retourne à la fois «book.xls» et «book.xlsx».
- Dans tous les autres cas, la méthode retourne des fichiers qui correspondent exactement à l’extension spécifiée. Par exemple, « *.ai » retourne « file.ai », mais pas « file.aif ».
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, «file1.txt» et « file1.txtother », dans un répertoire, 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.
Le path paramètre est autorisé à spécifier des informations relatives ou absolues sur le chemin d’accès. Les informations relatives au chemin d’accès sont interprétées comme relatives au répertoire de travail actuel. Pour obtenir le répertoire de travail actuel, consultez GetCurrentDirectory.
La sensibilité de la casse du path paramètre correspond à celle du système de fichiers sur lequel le code est en cours d’exécution. Par exemple, il ne respecte pas la casse sur NTFS (le système de fichiers Windows par défaut) et respecte la casse sur les systèmes de fichiers Linux.
Pour obtenir la liste des tâches d’E/S courantes, consultez Tâches d’E/S courantes.
S’applique à
GetFileSystemEntries(String, String, SearchOption)
Retourne un tableau de tous les noms de fichiers et noms de répertoires qui correspondent à un modèle de recherche dans un chemin d’accès spécifié, et recherche éventuellement les sous-répertoires.
public:
static cli::array <System::String ^> ^ GetFileSystemEntries(System::String ^ path, System::String ^ searchPattern, System::IO::SearchOption searchOption);
public static string[] GetFileSystemEntries(string path, string searchPattern, System.IO.SearchOption searchOption);
static member GetFileSystemEntries : string * string * System.IO.SearchOption -> string[]
Public Shared Function GetFileSystemEntries (path As String, searchPattern As String, searchOption As SearchOption) As String()
Paramètres
- path
- String
Chemin d’accès relatif ou absolu au répertoire à rechercher. Cette chaîne n’est pas sensible à la casse.
- searchPattern
- String
Chaîne de recherche à mettre en correspondance avec les noms des fichiers et répertoires dans path. 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 doit inclure tous les sous-répertoires. La valeur par défaut est TopDirectoryOnly.
Retours
Tableau de fichiers les noms de fichiers et les noms de répertoires qui correspondent aux critères de recherche spécifiés ou à un tableau vide si aucun fichier ou répertoire n’est trouvé.
Exceptions
.NET Framework et les versions .NET Core antérieures à 2.1 : path est une chaîne de longueur nulle, contient uniquement des espaces blancs ou contient des caractères non valides. Vous pouvez rechercher des caractères non valides à l’aide de la méthode GetInvalidPathChars().
-ou-
searchPattern ne contient pas de modèle valide.
searchOption n’est pas une valeur valide SearchOption .
path n’est pas valide, par exemple en faisant référence à un lecteur non mappé.
path est un nom de fichier.
Le chemin d’accès, le nom de fichier ou combiné spécifié dépassent la longueur maximale définie par le système.
L’appelant n’a pas l’autorisation requise.
L’appelant n’a pas l’autorisation requise.
Remarques
L’ordre des noms de fichiers et de répertoires retournés n’est pas garanti ; utilisez la Sort méthode si un ordre de tri spécifique est requis.
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) | Exactement 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 searchPattern chaîne « *t » recherche tous les noms se path terminant par la lettre « t ». La searchPattern chaîne « s* » recherche tous les noms en path commençant par la lettre « s ».
searchPattern ne peut pas se terminer par deux périodes (« .. ») ou contenir deux points (« .. ») suivis DirectorySeparatorChar ou AltDirectorySeparatorChar, ni ne peuvent contenir de caractères non valides. Vous pouvez rechercher des caractères non valides à l’aide de la méthode GetInvalidPathChars.
Note
Lorsque vous utilisez le caractère générique astérisque dans un searchPattern caractère générique tel que « *.txt», le nombre de caractères dans l’extension spécifiée affecte la recherche comme suit :
- Si l’extension spécifiée est exactement trois caractères, la méthode retourne des fichiers avec des extensions qui commencent par l’extension spécifiée. Par exemple, « *.xls» retourne à la fois «book.xls» et «book.xlsx».
- Dans tous les autres cas, la méthode retourne des fichiers qui correspondent exactement à l’extension spécifiée. Par exemple, « *.ai » retourne « file.ai », mais pas « file.aif ».
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, «file1.txt» et « file1.txtother », dans un répertoire, 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.
Les EnumerateFileSystemEntries méthodes et GetFileSystemEntries les méthodes diffèrent comme suit : Lorsque vous utilisez EnumerateFileSystemEntries, vous pouvez commencer à énumérer la collection d’entrées avant que la collection entière soit retournée . Lorsque vous utilisez GetFileSystemEntries, vous devez attendre que l’ensemble du tableau d’entrées soit retourné avant de pouvoir accéder au tableau. Par conséquent, lorsque vous travaillez avec de nombreux fichiers et répertoires, EnumerateFileSystemEntries vous pouvez être plus efficace.
Vous pouvez spécifier des informations relatives sur le chemin d’accès avec le path paramètre. Les informations relatives au chemin d’accès sont interprétées comme relatives au répertoire de travail actuel, que vous pouvez déterminer à l’aide de la GetCurrentDirectory méthode.