Directory.CreateDirectory Metodo
Definizione
Importante
Alcune informazioni sono relative alla release non definitiva del prodotto, che potrebbe subire modifiche significative prima della release definitiva. Microsoft non riconosce alcuna garanzia, espressa o implicita, in merito alle informazioni qui fornite.
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
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
- DirectoryInfo
- File e Stream I/O
- Procedura: Leggere testo da un file
- Procedura: Scrivere un testo in un file
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
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
.