Directory Classe

Définition

Expose des méthodes statiques pour créer, se déplacer dans et énumérer des répertoires et sous-répertoires.Exposes static methods for creating, moving, and enumerating through directories and subdirectories. Cette classe ne peut pas être héritée.This class cannot be inherited.

public ref class Directory abstract sealed
public ref class Directory sealed
public static class Directory
public sealed class Directory
[System.Runtime.InteropServices.ComVisible(true)]
public static class Directory
type Directory = class
[<System.Runtime.InteropServices.ComVisible(true)>]
type Directory = class
Public Class Directory
Public NotInheritable Class Directory
Héritage
Directory
Attributs

Exemples

L’exemple suivant montre comment récupérer tous les fichiers texte d’un répertoire et les déplacer vers un nouveau répertoire.The following example shows how to retrieve all the text files from a directory and move them to a new directory. Une fois les fichiers déplacés, ils n’existent plus dans le répertoire d’origine.After the files are moved, they no longer exist in the original directory.

using System;
using System.IO;

namespace ConsoleApplication
{
    class Program
    {
        static void Main(string[] args)
        {
            string sourceDirectory = @"C:\current";
            string archiveDirectory = @"C:\archive";

            try
            {
                var txtFiles = Directory.EnumerateFiles(sourceDirectory, "*.txt");

                foreach (string currentFile in txtFiles)
                {
                    string fileName = currentFile.Substring(sourceDirectory.Length + 1);
                    Directory.Move(currentFile, Path.Combine(archiveDirectory, fileName));
                }
            }
            catch (Exception e)
            {
                Console.WriteLine(e.Message);
            }
        }
    }
}
Imports System.IO

Module Module1

    Sub Main()
        Dim sourceDirectory As String = "C:\current"
        Dim archiveDirectory As String = "C:\archive"

        Try
            Dim txtFiles = Directory.EnumerateFiles(sourceDirectory, "*.txt")

            For Each currentFile As String In txtFiles
                Dim fileName = currentFile.Substring(sourceDirectory.Length + 1)
                Directory.Move(currentFile, Path.Combine(archiveDirectory, fileName))
            Next
        Catch e As Exception
            Console.WriteLine(e.Message)
        End Try
    End Sub

End Module

L’exemple suivant montre comment utiliser la EnumerateFiles méthode pour récupérer une collection de fichiers texte à partir d’un répertoire, puis utiliser cette collection dans une requête pour rechercher toutes les lignes qui contiennent « example ».The following example demonstrates how to use the EnumerateFiles method to retrieve a collection of text files from a directory, and then use that collection in a query to find all the lines that contain "Example".

using System;
using System.IO;
using System.Linq;

namespace ConsoleApplication
{
    class Program
    {
        static void Main(string[] args)
        {
            string archiveDirectory = @"C:\archive";

            var files = from retrievedFile in Directory.EnumerateFiles(archiveDirectory, "*.txt", SearchOption.AllDirectories)
                        from line in File.ReadLines(retrievedFile)
                        where line.Contains("Example")
                        select new
                        {
                            File = retrievedFile,
                            Line = line
                        };

            foreach (var f in files)
            {
                Console.WriteLine("{0} contains {1}", f.File, f.Line);
            }
            Console.WriteLine("{0} lines found.", files.Count().ToString());
        }
    }
}
Imports System.IO

Module Module1

    Sub Main()
        Dim archiveDirectory As String = "C:\archive"

        Dim files = From retrievedFile In Directory.EnumerateFiles(archiveDirectory, "*.txt", SearchOption.AllDirectories)
                    From line In File.ReadLines(retrievedFile)
                    Where line.Contains("Example")
                    Select New With {.curFile = retrievedFile, .curLine = line}

        For Each f In files
            Console.WriteLine("{0} contains {1}", f.curFile, f.curLine)
        Next
        Console.WriteLine("{0} lines found.", files.Count.ToString())

    End Sub

End Module

L’exemple suivant montre comment déplacer un répertoire et tous ses fichiers vers un nouveau répertoire.The following example demonstrates how to move a directory and all its files to a new directory. Le répertoire d’origine n’existe plus une fois qu’il a été déplacé.The original directory no longer exists after it has been moved.

using System;
using System.IO;

namespace ConsoleApplication
{
    class Program
    {
        static void Main(string[] args)
        {
            string sourceDirectory = @"C:\source";
            string destinationDirectory = @"C:\destination";

            try
            {
                Directory.Move(sourceDirectory, destinationDirectory);
            }
            catch (Exception e)
            {
                Console.WriteLine(e.Message);
            }
        }
    }
}
Imports System.IO

Module Module1

    Sub Main()
        Dim sourceDirectory As String = "C:\source"
        Dim destinationDirectory As String = "C:\destination"

        Try
            Directory.Move(sourceDirectory, destinationDirectory)
        Catch e As Exception
            Console.WriteLine(e.Message)
        End Try

    End Sub

End Module

Remarques

Utilisez la Directory classe pour les opérations courantes telles que la copie, le déplacement, le changement de nom, la création et la suppression de répertoires.Use the Directory class for typical operations such as copying, moving, renaming, creating, and deleting directories.

Les méthodes statiques de la Directory classe effectuent des contrôles de sécurité sur toutes les méthodes.The static methods of the Directory class perform security checks on all methods. Si vous envisagez de réutiliser un objet plusieurs fois, envisagez d’utiliser la méthode d’instance correspondante de à la DirectoryInfo place, car la vérification de la sécurité n’est pas toujours nécessaire.If you are going to reuse an object several times, consider using the corresponding instance method of DirectoryInfo instead, because the security check will not always be necessary.

Si vous effectuez une seule action liée à un répertoire, il peut être plus efficace d’utiliser une Directory méthode statique plutôt qu’une DirectoryInfo méthode d’instance correspondante.If you are performing only one directory-related action, it might be more efficient to use a static Directory method rather than a corresponding DirectoryInfo instance method. La plupart des Directory méthodes requièrent le chemin d’accès au répertoire que vous manipulez.Most Directory methods require the path to the directory that you are manipulating.

Notes

Dans les membres qui acceptent un path paramètre de chaîne, ce chemin doit être correctement formé ou une exception est levée.In members that accept a string path parameter, that path must be well-formed or an exception is raised. Par exemple, si un chemin d’accès est complet mais qu’il commence par un espace (« c:\temp »), la chaîne de chemin d’accès n’est pas tronquée, donc le chemin d’accès est considéré comme incorrect et une exception est levée.For example, if a path is fully qualified but begins with a space (" c:\temp"), the path string isn't trimmed, so the path is considered malformed and an exception is raised. En outre, un chemin d’accès ou une combinaison de chemins d’accès ne peut pas être qualifié complet deux fois.In addition, a path or a combination of paths cannot be fully qualified twice. Par exemple, « c:\temp c:\Windows » lève également une exception.For example, "c:\temp c:\windows" also raises an exception. Assurez-vous que vos chemins d’accès sont correctement formés lors de l’utilisation de méthodes acceptant une chaîne de chemin d’accès.Ensure that your paths are well-formed when using methods that accept a path string. Pour plus d'informations, consultez Path.For more information see Path.

Dans les membres qui acceptent un chemin d’accès, le chemin d’accès peut faire référence à un fichier ou à un répertoire.In members that accept a path, the path can refer to a file or a directory. Vous pouvez utiliser un chemin d’accès complet, un chemin d’accès relatif ou un chemin d’accès UNC (Universal Naming Convention) pour un serveur et un nom de partage.You can use a full path, a relative path, or a Universal Naming Convention (UNC) path for a server and share name. Par exemple, les chemins d’accès acceptables sont les suivants :For example, all the following are acceptable paths:

  • « c : \ \MyDir » en C#, ou « c:\MyDir » dans Visual Basic."c:\\MyDir" in C#, or "c:\MyDir" in Visual Basic.

  • « MyDir \ \MySubdir » en C#, ou « MyDir\MySubDir » dans Visual Basic."MyDir\\MySubdir" in C#, or "MyDir\MySubDir" in Visual Basic.

  • « \ \ \ \Monserveur \ \MyShare » en C#, ou « \ \monserveur\partage » dans Visual Basic."\\\\MyServer\\MyShare" in C#, or "\\MyServer\MyShare" in Visual Basic.

Par défaut, l’accès complet en lecture/écriture aux nouveaux répertoires est accordé à tous les utilisateurs.By default, full read/write access to new directories is granted to all users. Toutefois, l’application doit disposer de la sécurité appropriée pour accéder aux répertoires existants.However, the app must have the correct security to access existing directories.

Pour demander des autorisations pour un répertoire et tous ses sous-répertoires, terminez la chaîne de chemin d’accès par le caractère de séparation de répertoire.To demand permissions for a directory and all its subdirectories, end the path string with the directory separator character. (Par exemple, « C:\Temp \ » accorde l’accès à C:\Temp\ et à tous ses sous-répertoires.) Pour demander des autorisations uniquement pour un répertoire spécifique, terminez la chaîne de chemin d’accès par un point.(For example, "C:\Temp\" grants access to C:\Temp\ and all its subdirectories.) To demand permissions only for a specific directory, end the path string with a period. (Par exemple, « C:\Temp » \ .(For example, "C:\Temp\." octroie l’accès uniquement à C:\Temp \ , et non à ses sous-répertoires.)grants access only to C:\Temp\, not to its subdirectories.)

Dans les membres qui acceptent un searchPattern paramètre, la chaîne de recherche peut être n’importe quelle combinaison de caractères littéraux et deux caractères génériques ; * et ?.In members that accept a searchPattern parameter, the search string can be any combination of literal characters and two wildcard characters; * and ?. Ce paramètre ne reconnaît pas les expressions régulières.This parameter does not recognize regular expressions. Pour plus d’informations, consultez la EnumerateDirectories(String, String) méthode ou toute autre méthode qui utilise le searchPattern paramètre.For more information, see the EnumerateDirectories(String, String) method or any other method that uses the searchPattern parameter.

Pour obtenir la liste des tâches d’e/s courantes, consultez tâches d’e/s courantes.For a list of common I/O tasks, see Common I/O Tasks.

Directory et ne DirectoryInfo sont pas pris en charge pour une utilisation dans les Windows StoreWindows Store applications.Directory and DirectoryInfo are not supported for use in Windows StoreWindows Store apps. Pour plus d’informations sur l’accès aux fichiers et aux dossiers dans les Windows StoreWindows Store applications, consultez accès aux données et aux fichiers (applications du Windows Store).For information about how to access files and folders in Windows StoreWindows Store apps, see Accessing data and files (Windows Store apps).

Méthodes

CreateDirectory(String)

Crée tous les répertoires et sous-répertoires dans le chemin d'accès spécifié, sauf s'ils existent déjà.Creates all directories and subdirectories in the specified path unless they already exist.

CreateDirectory(String, DirectorySecurity)

Crée tous les répertoires dans le chemin d'accès spécifié, sauf s'ils existent déjà, en appliquant la sécurité Windows spécifiée.Creates all the directories in the specified path, unless they already exist, applying the specified Windows security.

Delete(String)

Supprime un répertoire vide dans un chemin d’accès spécifié.Deletes an empty directory from a specified path.

Delete(String, Boolean)

Supprime le répertoire spécifié et, si c’est indiqué, tous les sous-répertoires et fichiers qu’il contient.Deletes the specified directory and, if indicated, any subdirectories and files in the directory.

EnumerateDirectories(String)

Retourne une collection énumérable de noms complets de répertoires dans un chemin spécifié.Returns an enumerable collection of directory full names in a specified path.

EnumerateDirectories(String, String)

Retourne une collection énumérable des noms complets de répertoires qui correspondent à un modèle de recherche dans un chemin spécifié.Returns an enumerable collection of directory full names that match a search pattern in a specified path.

EnumerateDirectories(String, String, EnumerationOptions)

Retourne une collection énumérable des noms complets de répertoires qui correspondent à un modèle de recherche dans un chemin spécifié, et recherche éventuellement dans les sous-répertoires.Returns an enumerable collection of the directory full names that match a search pattern in a specified path, and optionally searches subdirectories.

EnumerateDirectories(String, String, SearchOption)

Retourne une collection énumérable des noms complets de répertoires qui correspondent à un modèle de recherche dans un chemin d’accès spécifié, et effectue éventuellement la recherche dans les sous-répertoires.Returns an enumerable collection of directory full names that match a search pattern in a specified path, and optionally searches subdirectories.

EnumerateFiles(String)

Retourne une collection énumérable de noms de fichiers complets dans un chemin spécifié.Returns an enumerable collection of full file names in a specified path.

EnumerateFiles(String, String)

Retourne une collection énumérable des noms de fichiers complets qui correspondent à un modèle de recherche dans un chemin spécifié.Returns an enumerable collection of full file names that match a search pattern in a specified path.

EnumerateFiles(String, String, EnumerationOptions)

Retourne une collection énumérable des noms de fichiers complets qui correspondent à un modèle de recherche et à des options d’énumération dans un chemin spécifié, et recherche éventuellement dans les sous-répertoires.Returns an enumerable collection of full file names that match a search pattern and enumeration options in a specified path, and optionally searches subdirectories.

EnumerateFiles(String, String, SearchOption)

Retourne une collection énumérable des noms de fichiers complets qui correspondent à un modèle de recherche dans un chemin spécifié, et effectue éventuellement des recherches dans les sous-répertoires.Returns an enumerable collection of full file names that match a search pattern in a specified path, and optionally searches subdirectories.

EnumerateFileSystemEntries(String)

Retourne une collection énumérable de noms de fichiers et de noms de répertoires dans un chemin d’accès spécifié.Returns an enumerable collection of file names and directory names in a specified path.

EnumerateFileSystemEntries(String, String)

Retourne une collection énumérable des noms de fichiers et des noms de répertoires qui correspondent à un modèle de recherche dans un chemin spécifié.Returns an enumerable collection of file names and directory names that match a search pattern in a specified path.

EnumerateFileSystemEntries(String, String, EnumerationOptions)

Retourne une collection énumérable des noms de fichiers et des noms de répertoires qui correspondent à un modèle de recherche et à des options d’énumération dans un chemin spécifié.Returns an enumerable collection of file names and directory names that match a search pattern and enumeration options in a specified path.

EnumerateFileSystemEntries(String, String, SearchOption)

Retourne une collection énumérable des noms de fichiers et des noms de répertoires qui correspondent à un modèle de recherche dans un chemin d'accès spécifié, et effectue éventuellement des recherches dans les sous-répertoires.Returns an enumerable collection of file names and directory names that match a search pattern in a specified path, and optionally searches subdirectories.

Exists(String)

Détermine si le chemin d'accès donné référence un répertoire existant sur disque.Determines whether the given path refers to an existing directory on disk.

GetAccessControl(String)

Obtient un objet DirectorySecurity qui encapsule les entrées de liste de contrôle d’accès (ACL) pour un répertoire spécifié.Gets a DirectorySecurity object that encapsulates the access control list (ACL) entries for a specified directory.

GetAccessControl(String, AccessControlSections)

Obtient un objet DirectorySecurity qui encapsule le type spécifié d’entrées de liste de contrôle d’accès pour un répertoire spécifié.Gets a DirectorySecurity object that encapsulates the specified type of access control list (ACL) entries for a specified directory.

GetCreationTime(String)

Obtient la date et l'heure de création d'un répertoire.Gets the creation date and time of a directory.

GetCreationTimeUtc(String)

Obtient la date/heure de création d'un répertoire, au format UTC (Temps universel coordonné).Gets the creation date and time, in Coordinated Universal Time (UTC) format, of a directory.

GetCurrentDirectory()

Obtient le répertoire de travail en cours de l'application.Gets the current working directory of the application.

GetDirectories(String)

Retourne les noms des sous-répertoires (y compris leurs chemins d’accès) dans le répertoire spécifié.Returns the names of subdirectories (including their paths) in the specified directory.

GetDirectories(String, String)

Retourne les noms des sous-répertoires (y compris leurs chemins d’accès) qui correspondent au modèle de recherche spécifié dans le répertoire spécifié.Returns the names of subdirectories (including their paths) that match the specified search pattern in the specified directory.

GetDirectories(String, String, EnumerationOptions)

Retourne les noms des sous-répertoires (y compris leurs chemins) qui correspondent au modèle de recherche et aux options d’énumération spécifiés dans le répertoire spécifié.Returns the names of subdirectories (including their paths) that match the specified search pattern and enumeration options in the specified directory.

GetDirectories(String, String, SearchOption)

Retourne les noms des sous-répertoires (avec leurs chemins d’accès) qui correspondent au modèle de recherche spécifié dans le répertoire spécifié, et effectue éventuellement une recherche dans les sous-répertoires.Returns the names of the subdirectories (including their paths) that match the specified search pattern in the specified directory, and optionally searches subdirectories.

GetDirectoryRoot(String)

Retourne les informations sur le volume, les informations sur la racine ou les deux, pour le chemin d’accès spécifié.Returns the volume information, root information, or both for the specified path.

GetFiles(String)

Retourne les noms des fichiers (y compris leur chemin d’accès) dans le répertoire spécifié.Returns the names of files (including their paths) in the specified directory.

GetFiles(String, String)

Retourne les noms des fichiers (y compris leurs chemins d’accès) qui correspondent au modèle de recherche spécifié dans le répertoire spécifié.Returns the names of files (including their paths) that match the specified search pattern in the specified directory.

GetFiles(String, String, EnumerationOptions)

Retourne les noms des fichiers (y compris leurs chemins) qui correspondent au modèle de recherche et aux options d’énumération spécifiés dans le répertoire spécifié.Returns the names of files (including their paths) that match the specified search pattern and enumeration options in the specified directory.

GetFiles(String, String, SearchOption)

Retourne les noms des fichiers (y compris leurs chemins d’accès) qui correspondent au modèle de recherche spécifié dans le répertoire spécifié, en utilisant une valeur pour déterminer s’il faut effectuer une recherche dans les sous-répertoires.Returns the names of files (including their paths) that match the specified search pattern in the specified directory, using a value to determine whether to search subdirectories.

GetFileSystemEntries(String)

Retourne les noms de tous les fichiers et sous-répertoires dans un chemin d’accès spécifié.Returns the names of all files and subdirectories in a specified path.

GetFileSystemEntries(String, String)

Retourne un tableau de noms de fichiers et noms de répertoires qui correspondent à un modèle de recherche dans un chemin spécifié.Returns an array of file names and directory names that match a search pattern in a specified path.

GetFileSystemEntries(String, String, EnumerationOptions)

Retourne un tableau des noms de fichiers et des noms de répertoires qui correspondent à un modèle de recherche et à des options d’énumération dans un chemin spécifié.Returns an array of file names and directory names that match a search pattern and enumeration options in a specified path.

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 effectue éventuellement des recherches dans les sous-répertoires.Returns an array of all the file names and directory names that match a search pattern in a specified path, and optionally searches subdirectories.

GetLastAccessTime(String)

Retourne la date/heure du dernier accès au fichier ou au répertoire spécifié.Returns the date and time the specified file or directory was last accessed.

GetLastAccessTimeUtc(String)

Retourne la date/heure, au format UTC (Temps universel coordonné), du dernier accès au fichier ou au répertoire spécifié.Returns the date and time, in Coordinated Universal Time (UTC) format, that the specified file or directory was last accessed.

GetLastWriteTime(String)

Retourne la date/heure du dernier accès en écriture au fichier ou au répertoire spécifié.Returns the date and time the specified file or directory was last written to.

GetLastWriteTimeUtc(String)

Retourne la date/heure, au format UTC (Temps universel coordonné), de la dernière écriture dans le fichier ou le répertoire spécifié.Returns the date and time, in Coordinated Universal Time (UTC) format, that the specified file or directory was last written to.

GetLogicalDrives()

Récupère les noms des lecteurs logiques sur cet ordinateur, sous la forme "<lettre de lecteur>:\".Retrieves the names of the logical drives on this computer in the form "<drive letter>:\".

GetParent(String)

Récupère le répertoire parent du chemin d'accès spécifié, y compris les chemins d'accès absolus et relatifs.Retrieves the parent directory of the specified path, including both absolute and relative paths.

Move(String, String)

Déplace un fichier, ou un répertoire et son contenu, vers un nouvel emplacement.Moves a file or a directory and its contents to a new location.

SetAccessControl(String, DirectorySecurity)

Applique les entrées de liste de contrôle d’accès (ACL) décrites par un objet DirectorySecurity au répertoire spécifié.Applies access control list (ACL) entries described by a DirectorySecurity object to the specified directory.

SetCreationTime(String, DateTime)

Définit la date/heure de création pour le fichier ou le répertoire spécifié.Sets the creation date and time for the specified file or directory.

SetCreationTimeUtc(String, DateTime)

Définit la date et l'heure de création, au format de temps universel (UTC, Universal Coordinated Time) pour le fichier ou le répertoire spécifié.Sets the creation date and time, in Coordinated Universal Time (UTC) format, for the specified file or directory.

SetCurrentDirectory(String)

Définit le répertoire spécifié comme répertoire de travail actuel de l'application.Sets the application's current working directory to the specified directory.

SetLastAccessTime(String, DateTime)

Définit la date/heure du dernier accès au fichier ou au répertoire spécifié.Sets the date and time the specified file or directory was last accessed.

SetLastAccessTimeUtc(String, DateTime)

Définit la date/heure, au format UTC (Temps universel coordonné), du dernier accès au fichier ou au répertoire spécifié.Sets the date and time, in Coordinated Universal Time (UTC) format, that the specified file or directory was last accessed.

SetLastWriteTime(String, DateTime)

Définit la date/heure du dernier accès en écriture au répertoire.Sets the date and time a directory was last written to.

SetLastWriteTimeUtc(String, DateTime)

Définit la date/heure, au format UTC (Temps universel coordonnée), de la dernière écriture dans un répertoire.Sets the date and time, in Coordinated Universal Time (UTC) format, that a directory was last written to.

S’applique à

Voir aussi