DirectoryInfo.Create Méthode

Définition

Crée un répertoire.Creates a directory.

Surcharges

Create()

Crée un répertoire.Creates a directory.

Create(DirectorySecurity)

Crée un répertoire en utilisant un objet DirectorySecurity.Creates a directory using a DirectorySecurity object.

Create()

Crée un répertoire.Creates a directory.

public:
 void Create();
public void Create ();
member this.Create : unit -> unit
Public Sub Create ()

Exceptions

Impossible de créer le répertoire.The directory cannot be created.

Exemples

L’exemple suivant vérifie si un répertoire spécifié existe, crée le répertoire s’il n’existe pas et supprime le répertoire.The following example checks whether a specified directory exists, creates the directory if it does not exist, and deletes the directory.

using namespace System;
using namespace System::IO;
int main()
{
   
   // Specify the directories you want to manipulate.
   DirectoryInfo^ di = gcnew DirectoryInfo( "c:\\MyDir" );
   try
   {
      
      // Determine whether the directory exists.
      if ( di->Exists )
      {
         
         // Indicate that it already exists.
         Console::WriteLine( "That path exists already." );
         return 0;
      }
      
      // Try to create the directory.
      di->Create();
      Console::WriteLine( "The directory was created successfully." );
      
      // Delete the directory.
      di->Delete();
      Console::WriteLine( "The directory was deleted successfully." );
   }
   catch ( Exception^ e ) 
   {
      Console::WriteLine( "The process failed: {0}", e );
   }

}

using System;
using System.IO;

class Test
{
    public static void Main()
    {
        // Specify the directories you want to manipulate.
        DirectoryInfo di = new DirectoryInfo(@"c:\MyDir");

        try
        {
            // Determine whether the directory exists.
            if (di.Exists)
            {
                // Indicate that it already exists.
                Console.WriteLine("That path exists already.");
                return;
            }

            // Try to create the directory.
            di.Create();
            Console.WriteLine("The directory was created successfully.");

            // Delete the directory.
            di.Delete();
            Console.WriteLine("The directory was deleted successfully.");
        }
        catch (Exception e)
        {
            Console.WriteLine("The process failed: {0}", e.ToString());
        }
        finally {}
    }
}
Imports System.IO

Public Class Test

    Public Shared Sub Main()
        ' Specify the directories you want to manipulate.
        Dim di As DirectoryInfo = New DirectoryInfo("c:\MyDir")
        Try
            ' Determine whether the directory exists.
            If di.Exists Then
                ' Indicate that it already exists.
                Console.WriteLine("That path exists already.")
                Return
            End If

            ' Try to create the directory.
            di.Create()
            Console.WriteLine("The directory was created successfully.")

            'Delete the directory.
            di.Delete()
            Console.WriteLine("The directory was deleted successfully.")

        Catch e As Exception
            Console.WriteLine("The process failed: {0}", e.ToString())
        End Try
    End Sub
End Class

Remarques

Si le répertoire existe déjà, cette méthode n’a aucun effet.If the directory already exists, this method does nothing.

Si le répertoire n’existait pas avant l’appel de cette méthode, toutes les informations d’attribut mises en cache concernant le répertoire seront vidées si la création réussit.If the directory did not exist before calling this method, then any cached attribute information about the directory will be flushed if the creation is successful.

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.

Voir aussi

S’applique à

Create(DirectorySecurity)

Crée un répertoire en utilisant un objet DirectorySecurity.Creates a directory using a DirectorySecurity object.

public:
 void Create(System::Security::AccessControl::DirectorySecurity ^ directorySecurity);
public void Create (System.Security.AccessControl.DirectorySecurity directorySecurity);
member this.Create : System.Security.AccessControl.DirectorySecurity -> unit
Public Sub Create (directorySecurity As DirectorySecurity)

Paramètres

directorySecurity
DirectorySecurity

Contrôle d'accès à appliquer au répertoire.The access control to apply to the directory.

Exceptions

Le répertoire spécifié par path est en lecture seule ou n’est pas vide.The directory specified by path is read-only or is not empty.

L'appelant n'a pas l'autorisation requise.The caller does not have the required permission.

path est une chaîne de longueur nulle, contient seulement un espace, ou contient un ou plusieurs caractères non valides définis par InvalidPathChars.path is a zero-length string, contains only white space, or contains one or more invalid characters as defined by InvalidPathChars.

path a la valeur null.path is null.

Le chemin et/ou le nom de fichier spécifiés dépassent la longueur maximale définie par le système.The specified path, file name, or both exceed the system-defined maximum length.

Le chemin spécifié n’est pas valide, par exemple si l’emplacement est un lecteur non mappé.The specified path is invalid, such as being on an unmapped drive.

La création d’un répertoire avec uniquement le caractère deux-points (:) a été tentée.Creating a directory with only the colon (:) character was attempted.

Exemples

L’exemple de code suivant crée un répertoire à l’intérieur du dossier temporaire de l’utilisateur avec les attributs de sécurité de répertoire spécifiés :The following code example creates a new directory inside the user's temporary folder with the specified directory security attributes:

using System.IO;
using System.Security.AccessControl;
using System.Security.Principal;
namespace ConsoleApp
{
    class Program
    {
        static void Main()
        {
            DirectorySecurity security = new DirectorySecurity();
            SecurityIdentifier identity = new SecurityIdentifier(WellKnownSidType.BuiltinUsersSid, null);
            FileSystemAccessRule accessRule = new FileSystemAccessRule(identity, FileSystemRights.FullControl, AccessControlType.Allow);
            security.AddAccessRule(accessRule);
            string path = Path.Combine(Path.GetTempPath(), "directoryToCreate");
            DirectoryInfo dirInfo = new DirectoryInfo(path);
            dirInfo.Create(security);
        }
    }
}

Remarques

Utilisez cette surcharge de méthode pour créer un répertoire avec contrôle d’accès. il n’y a donc aucun risque d’accès au répertoire avant l’application de la sécurité.Use this method overload to create a directory with access control, so there is no chance the directory can be accessed before security is applied.

Si le répertoire existe déjà, cette méthode n’a aucun effet.If the directory already exists, this method does nothing.

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.

Important

Cette méthode a été reportée vers .NET Core 3,1 en tant que méthode d’extension de la FileSystemAclExtensions classe dans le cadre de l' System.Security.AccessControl assembly : Create(DirectoryInfo, DirectorySecurity) .This method was ported to .NET Core 3.1 as an extension method of the FileSystemAclExtensions class as part of the System.Security.AccessControl assembly: Create(DirectoryInfo, DirectorySecurity).

S’applique à