DirectoryInfo.Create Metodo

Definizione

Crea una directory.

Overload

Nome Descrizione
Create()

Crea una directory.

Create(DirectorySecurity)

Crea una directory utilizzando un DirectorySecurity oggetto .

Create()

Origine:
DirectoryInfo.cs
Origine:
DirectoryInfo.cs
Origine:
DirectoryInfo.cs
Origine:
DirectoryInfo.cs
Origine:
DirectoryInfo.cs

Crea una directory.

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

Eccezioni

Impossibile creare la directory.

Esempio

L'esempio seguente controlla se esiste una directory specificata, crea la directory se non esiste ed elimina la directory.

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 {}
    }
}
open System.IO

// Specify the directories you want to manipulate.
let di = DirectoryInfo @"c:\MyDir"

try
    // Determine whether the directory exists.
    if di.Exists then
        // Indicate that it already exists.
        printfn "That path exists already."
    else
        // Try to create the directory.
        di.Create()
        printfn "The directory was created successfully."

        // Delete the directory.
        di.Delete()
        printfn "The directory was deleted successfully."
with e ->
    printfn $"The process failed: {e}"
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

Commenti

Vengono create tutte le directory specificate in path , a meno che alcune parti di path non siano valide. Il path parametro specifica un percorso di directory, non un percorso di file. Se la directory esiste già, questo metodo non esegue alcuna operazione. Se la directory non esiste prima di chiamare questo metodo, eventuali informazioni sull'attributo memorizzate nella cache sulla directory verranno scaricate se la creazione ha esito positivo.

Per un elenco delle attività di I/O comuni, vedere Attività di I/O comuni.

Vedi anche

Si applica a

Create(DirectorySecurity)

Crea una directory utilizzando un DirectorySecurity oggetto .

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)

Parametri

directorySecurity
DirectorySecurity

Controllo di accesso da applicare alla directory.

Eccezioni

Il chiamante non dispone dell'autorizzazione richiesta.

Il percorso, il nome file specificato o entrambi superano la lunghezza massima definita dal sistema.

Il percorso specificato non è valido, ad esempio in un'unità non mappata.

Creazione di una directory con solo i due punti (:) carattere è stato tentato.

Esempio

Nell'esempio di codice seguente viene creata una nuova directory all'interno della cartella temporanea dell'utente con gli attributi di sicurezza della directory specificati:

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);
        }
    }
}

Commenti

Usare questo overload del metodo per creare una directory con il controllo di accesso, quindi non è possibile accedere alla directory prima dell'applicazione della sicurezza.

Se la directory esiste già, questo metodo non esegue alcuna operazione.

Per un elenco delle attività di I/O comuni, vedere Attività di I/O comuni.

Importante

Questo metodo è stato convertito in .NET Core 3.1 come metodo di estensione della classe FileSystemAclExtensions come parte dell'assembly System.Security.AccessControl: Create(DirectoryInfo, DirectorySecurity).

Si applica a