Directory.CreateDirectory Metodo

Definizione

Crea tutte le directory nel percorso specificato.

Overload

CreateDirectory(String)

Crea tutte le directory e le sottodirectory nel percorso specificato a meno che non esistano già.

CreateDirectory(String, UnixFileMode)

Crea tutte le directory e le sottodirectory nel percorso specificato con le autorizzazioni specificate, a meno che non esistano già.

CreateDirectory(String, DirectorySecurity)

Crea tutte le directory nel percorso specificato, a meno che non esistano già, e applica la sicurezza di Windows specificata.

CreateDirectory(String)

Origine:
Directory.cs
Origine:
Directory.cs
Origine:
Directory.cs

Crea tutte le directory e le sottodirectory nel percorso specificato a meno che non esistano già.

public:
 static System::IO::DirectoryInfo ^ CreateDirectory(System::String ^ path);
public static System.IO.DirectoryInfo CreateDirectory (string path);
static member CreateDirectory : string -> System.IO.DirectoryInfo
Public Shared Function CreateDirectory (path As String) As DirectoryInfo

Parametri

path
String

Directory da creare.

Restituisce

Oggetto che rappresenta la directory nel percorso specificato. L'oggetto viene restituito a prescindere dal fatto che esista già una directory nel percorso specificato.

Eccezioni

La directory specificata da path è un file.

-oppure-

Il nome della rete non è noto.

Il chiamante non dispone dell'autorizzazione richiesta.

.NET Framework e versioni di .NET Core precedenti a 2.1: path è una stringa di lunghezza zero, contiene solo spazio vuoto o contiene uno o più caratteri non validi. È possibile cercare i caratteri non validi usando il metodo GetInvalidPathChars().

-oppure-

path è preceduto da, o contiene, solo un carattere due punti (:).

path è null.

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

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

path contiene un carattere due punti (:) che non fa parte di un'etichetta di unità ("C:\").

Esempio

Nell'esempio seguente viene creata ed eliminata la directory specificata:

using namespace System;
using namespace System::IO;
int main()
{
   
   // Specify the directory you want to manipulate.
   String^ path = "c:\\MyDir";
   try
   {
      
      // Determine whether the directory exists.
      if ( Directory::Exists( path ) )
      {
         Console::WriteLine( "That path exists already." );
         return 0;
      }
      
      // Try to create the directory.
      DirectoryInfo^ di = Directory::CreateDirectory( path );
      Console::WriteLine( "The directory was created successfully at {0}.", Directory::GetCreationTime( path ) );
      
      // 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 directory you want to manipulate.
        string path = @"c:\MyDir";

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

            // Try to create the directory.
            DirectoryInfo di = Directory.CreateDirectory(path);
            Console.WriteLine("The directory was created successfully at {0}.", Directory.GetCreationTime(path));

            // 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 directory you want to manipulate.
let path = @"c:\MyDir"

try
    // Determine whether the directory exists.
    if Directory.Exists path then
        printfn "That path exists already."
    else
        // Try to create the directory.
        let di = Directory.CreateDirectory path
        printfn $"The directory was created successfully at {Directory.GetCreationTime path}."

        // 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 directory you want to manipulate.
        Dim path As String = "c:\MyDir"

        Try
            ' Determine whether the directory exists.
            If Directory.Exists(path) Then
                Console.WriteLine("That path exists already.")
                Return
            End If

            ' Try to create the directory.
            Dim di As DirectoryInfo = Directory.CreateDirectory(path)
            Console.WriteLine("The directory was created successfully at {0}.", Directory.GetCreationTime(path))

            ' 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

Per creare la directory C:\Users\User1\Public\Html quando la directory corrente è C:\Users\User1, usare una delle chiamate seguenti per assicurarsi che la barra rovesciata venga interpretata correttamente:

Directory.CreateDirectory("Public\Html")
Directory.CreateDirectory("\Users\User1\Public\Html")
Directory.CreateDirectory("c:\Users\User1\Public\Html")
Directory.CreateDirectory("Public\\Html");
Directory.CreateDirectory("\\Users\\User1\\Public\\Html");
Directory.CreateDirectory("c:\\Users\\User1\\Public\\Html");
Directory::CreateDirectory("Public\\Html");
Directory::CreateDirectory("\\Users\\User1\\Public\\Html");
Directory::CreateDirectory("c:\\Users\\User1\\Public\\Html");

Commenti

Tutte le directory specificate in path vengono create, a meno che non esistano o a meno che non siano valide alcune parti.path Se la directory esiste già, questo metodo non crea una nuova directory, ma restituisce un DirectoryInfo oggetto per la directory esistente.

Il path parametro specifica un percorso della directory, non un percorso di file.

Gli spazi finali vengono rimossi dalla fine del parametro prima di path creare la directory.

È possibile creare una directory in un computer remoto, in una condivisione a cui si ha accesso in scrittura. Sono supportati i percorsi UNC; Ad esempio, è possibile specificare quanto segue per path: \\2009\Archives\December in Visual Basic e \\\\2009\\Archives\\December in C#.

La creazione di una directory con solo il carattere dei due punti (:) non è supportata e causerà la creazione di un NotSupportedException oggetto.

Nei sistemi Unix usare una barra in avanti (/) come separatore del percorso.

Vedi anche

Si applica a

CreateDirectory(String, UnixFileMode)

Origine:
Directory.cs
Origine:
Directory.cs
Origine:
Directory.cs

Crea tutte le directory e le sottodirectory nel percorso specificato con le autorizzazioni specificate, a meno che non esistano già.

public:
 static System::IO::DirectoryInfo ^ CreateDirectory(System::String ^ path, System::IO::UnixFileMode unixCreateMode);
[System.Runtime.Versioning.UnsupportedOSPlatform("windows")]
public static System.IO.DirectoryInfo CreateDirectory (string path, System.IO.UnixFileMode unixCreateMode);
[<System.Runtime.Versioning.UnsupportedOSPlatform("windows")>]
static member CreateDirectory : string * System.IO.UnixFileMode -> System.IO.DirectoryInfo
Public Shared Function CreateDirectory (path As String, unixCreateMode As UnixFileMode) As DirectoryInfo

Parametri

path
String

Directory da creare.

unixCreateMode
UnixFileMode

Combinazione bit per bit dei valori di enumerazione che specifica la modalità file Unix usata per creare directory.

Restituisce

Oggetto che rappresenta la directory nel percorso specificato. L'oggetto viene restituito a prescindere dal fatto che esista già una directory nel percorso specificato.

Attributi

Eccezioni

path è una stringa di lunghezza zero o contiene uno o più caratteri non validi. È possibile cercare i caratteri non validi usando il metodo GetInvalidPathChars().

path è null.

La modalità file non è valida.

Il chiamante non dispone dell'autorizzazione richiesta.

La lunghezza del percorso specificata supera la lunghezza massima definita dal sistema.

path è un file.

Un componente dell'oggetto path non è una directory.

Si applica a

CreateDirectory(String, DirectorySecurity)

Crea tutte le directory nel percorso specificato, a meno che non esistano già, e applica la sicurezza di Windows specificata.

public:
 static System::IO::DirectoryInfo ^ CreateDirectory(System::String ^ path, System::Security::AccessControl::DirectorySecurity ^ directorySecurity);
public static System.IO.DirectoryInfo CreateDirectory (string path, System.Security.AccessControl.DirectorySecurity directorySecurity);
static member CreateDirectory : string * System.Security.AccessControl.DirectorySecurity -> System.IO.DirectoryInfo
Public Shared Function CreateDirectory (path As String, directorySecurity As DirectorySecurity) As DirectoryInfo

Parametri

path
String

Directory da creare.

directorySecurity
DirectorySecurity

Controllo di accesso da applicare alla directory.

Restituisce

Oggetto che rappresenta la directory nel percorso specificato. L'oggetto viene restituito a prescindere dal fatto che esista già una directory nel percorso specificato.

Eccezioni

La directory specificata da path è un file.

-oppure-

Il nome della rete non è noto.

Il chiamante non dispone dell'autorizzazione richiesta.

.NET Framework e versioni di .NET Core precedenti a 2.1: path è una stringa di lunghezza zero, contiene solo spazio vuoto o contiene uno o più caratteri non validi. È possibile cercare i caratteri non validi usando il metodo GetInvalidPathChars().

-oppure-

path è preceduto da, o contiene, solo un carattere due punti (:).

path è null.

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

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

path contiene un carattere due punti (:) che non fa parte di un'etichetta di unità ("C:\").

Esempio

Nell'esempio seguente viene creata una nuova directory con regole di accesso per due account utente.

using System;
using System.IO;
using System.Security.AccessControl;

namespace ConsoleApplication
{
    class Program
    {
        static void Main(string[] args)
        {
            DirectorySecurity securityRules = new DirectorySecurity();
            securityRules.AddAccessRule(new FileSystemAccessRule(@"Domain\account1", FileSystemRights.Read, AccessControlType.Allow));
            securityRules.AddAccessRule(new FileSystemAccessRule(@"Domain\account2", FileSystemRights.FullControl, AccessControlType.Allow));

            DirectoryInfo di = Directory.CreateDirectory(@"C:\destination\NewDirectory", securityRules);
        }
    }
}
open System.IO
open System.Security.AccessControl

let securityRules = DirectorySecurity()
securityRules.AddAccessRule(FileSystemAccessRule(@"Domain\account1", FileSystemRights.Read, AccessControlType.Allow))
securityRules.AddAccessRule(FileSystemAccessRule(@"Domain\account2", FileSystemRights.FullControl, AccessControlType.Allow))

let di = Directory.CreateDirectory(@"C:\destination\NewDirectory", securityRules)
Imports System.IO
Imports System.Security.AccessControl

Module Module1

    Sub Main()
        Dim securityRules As DirectorySecurity = New DirectorySecurity()
        securityRules.AddAccessRule(New FileSystemAccessRule("Domain\account1", FileSystemRights.Read, AccessControlType.Allow))
        securityRules.AddAccessRule(New FileSystemAccessRule("Domain\account2", FileSystemRights.FullControl, AccessControlType.Allow))

        Dim di As DirectoryInfo = Directory.CreateDirectory("C:\destination\NewDirectory", securityRules)
    End Sub

End Module

Commenti

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

Vengono create tutte le directory specificate nel path parametro, a meno che non esistano già o a meno che non sia valida una parte di path . Il path parametro specifica un percorso della directory, non un percorso di file. Se la directory esiste già, questo metodo non crea una nuova directory, ma restituisce un DirectoryInfo oggetto per la directory esistente.

Gli spazi finali vengono rimossi dalla fine del parametro prima di path creare la directory.

È possibile creare una directory in un computer remoto, in una condivisione a cui si ha accesso in scrittura. Sono supportati i percorsi UNC; Ad esempio, è possibile specificare quanto segue per path: \\2009\Archives\December in Visual Basic e \\\\2009\\Archives\\December in C#.

La creazione di una directory con solo il carattere dei due punti (:) non è supportata e genera un'eccezione NotSupportedException .

Si applica a