Directory.CreateDirectory Método

Definición

Crea todos los directorios en una ruta de acceso especificada.

Sobrecargas

Nombre Description
CreateDirectory(String)

Crea todos los directorios y subdirectorios en la ruta de acceso especificada a menos que ya existan.

CreateDirectory(String, UnixFileMode)

Crea todos los directorios y subdirectorios en la ruta de acceso especificada con los permisos especificados a menos que ya existan.

CreateDirectory(String, DirectorySecurity)

Crea todos los directorios de la ruta de acceso especificada, a menos que ya existan, aplicando la seguridad de Windows especificada.

CreateDirectory(String)

Source:
Directory.cs
Source:
Directory.cs
Source:
Directory.cs
Source:
Directory.cs
Source:
Directory.cs

Crea todos los directorios y subdirectorios en la ruta de acceso especificada a menos que ya existan.

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

Parámetros

path
String

Directorio que se va a crear.

Devoluciones

Objeto que representa el directorio en la ruta de acceso especificada. Este objeto se devuelve independientemente de si ya existe un directorio en la ruta de acceso especificada.

Excepciones

El directorio especificado por path es un archivo.

O bien

No se conoce el nombre de red.

El autor de la llamada no tiene el permiso necesario.

Versiones de .NET Framework y .NET Core anteriores a la 2.1: path es una cadena de longitud cero, solo contiene espacios en blanco o contiene uno o varios caracteres no válidos. Puede consultar caracteres no válidos mediante el método GetInvalidPathChars().

O bien

path tiene el prefijo o contiene un carácter de dos puntos (:).

path es null.

La ruta de acceso especificada, el nombre de archivo o ambos superan la longitud máxima definida por el sistema.

La ruta de acceso especificada no es válida (por ejemplo, está en una unidad no asignada).

path contiene un carácter de dos puntos (:) que no forma parte de una etiqueta de unidad ("C:\").

Ejemplos

En el ejemplo siguiente se crea y se elimina el directorio especificado:

using System;
using System.IO;

class Test
{
    public static void Main()
    {
        // Specify the directory you want to manipulate.
        string path = @"c:\MyDir";
        
        // Determine whether the directory exists.
        if (Directory.Exists(path))
        {
            Console.WriteLine("That path exists already.");
            return;
        }
        
        DirectoryInfo di;
        try
        {
            // Try to create the directory.
            di = Directory.CreateDirectory(path);
            Console.WriteLine("The directory was created successfully at {0}.", Directory.GetCreationTime(path));
        }
        catch (UnauthorizedAccessException e)
        {
            Console.WriteLine("The caller does not have the required permission to create `{0}`", path);
            return;
        }
        
        // Delete the directory.
        di.Delete();
        Console.WriteLine("The directory was deleted successfully.");
    }
}
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

Para crear el directorio C:\Users\User1\Public\Html cuando el directorio actual sea C:\Users\User1, use cualquiera de las siguientes llamadas para asegurarse de que la barra diagonal inversa se interpreta correctamente:

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

Comentarios

Se crean todos los directorios y todos los directorios especificados en path , a menos que ya existan o a menos que alguna parte de path no sea válida. Si el directorio ya existe, este método no crea un nuevo directorio, pero devuelve un DirectoryInfo objeto para el directorio existente.

El path parámetro especifica una ruta de acceso de directorio, no una ruta de acceso de archivo.

Los espacios finales se quitan del final del parámetro antes de path crear el directorio.

Puede crear un directorio en un equipo remoto, en un recurso compartido al que tenga acceso de escritura. Se admiten rutas UNC; Por ejemplo, puede especificar lo siguiente para path: \\2009\Archives\December en Visual Basic y \\\\2009\\Archives\\December en C#.

La creación de un directorio con solo el carácter de dos puntos (no se admite :) y provocará que se produzca una NotSupportedException excepción .

En los sistemas Unix, use una barra diagonal (/) como separador de ruta de acceso.

Consulte también

Se aplica a

CreateDirectory(String, UnixFileMode)

Source:
Directory.cs
Source:
Directory.cs
Source:
Directory.cs
Source:
Directory.cs
Source:
Directory.cs

Crea todos los directorios y subdirectorios en la ruta de acceso especificada con los permisos especificados a menos que ya existan.

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

Parámetros

path
String

Directorio que se va a crear.

unixCreateMode
UnixFileMode

Combinación bit a bit de los valores de enumeración que especifica el modo de archivo unix usado para crear directorios.

Devoluciones

Objeto que representa el directorio en la ruta de acceso especificada. Este objeto se devuelve independientemente de si ya existe un directorio en la ruta de acceso especificada.

Atributos

Excepciones

path es una cadena de longitud cero o contiene uno o varios caracteres no válidos. Puede consultar caracteres no válidos mediante el método GetInvalidPathChars().

path es null.

El modo de archivo no es válido.

El autor de la llamada no tiene el permiso necesario.

La ruta de acceso especificada supera la longitud máxima definida por el sistema.

path es un archivo .

Un componente de path no es un directorio.

Se aplica a

CreateDirectory(String, DirectorySecurity)

Crea todos los directorios de la ruta de acceso especificada, a menos que ya existan, aplicando la seguridad de Windows especificada.

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

Parámetros

path
String

Directorio que se va a crear.

directorySecurity
DirectorySecurity

Control de acceso que se va a aplicar al directorio.

Devoluciones

Objeto que representa el directorio en la ruta de acceso especificada. Este objeto se devuelve independientemente de si ya existe un directorio en la ruta de acceso especificada.

Excepciones

El directorio especificado por path es un archivo.

O bien

No se conoce el nombre de red.

El autor de la llamada no tiene el permiso necesario.

Versiones de .NET Framework y .NET Core anteriores a la 2.1: path es una cadena de longitud cero, solo contiene espacios en blanco o contiene uno o varios caracteres no válidos. Puede consultar caracteres no válidos mediante el método GetInvalidPathChars().

O bien

path tiene el prefijo o contiene un carácter de dos puntos (:).

path es null.

La ruta de acceso especificada, el nombre de archivo o ambos superan la longitud máxima definida por el sistema.

La ruta de acceso especificada no es válida (por ejemplo, está en una unidad no asignada).

path contiene un carácter de dos puntos (:) que no forma parte de una etiqueta de unidad ("C:\").

Ejemplos

En el ejemplo siguiente se crea un nuevo directorio con reglas de acceso para dos cuentas de usuario.

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

partial class Program
{
    static void DirectorySecurityExample()
    {
        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

Partial Class Program
    Shared Sub DirectorySecurityExample()

        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 Class

Comentarios

Use esta sobrecarga de método para crear un directorio con control de acceso, por lo que no se puede acceder al directorio antes de aplicar la seguridad.

Se crean todos los directorios y todos los directorios especificados en el path parámetro , a menos que ya existan o a menos que alguna parte de path no sea válida. El path parámetro especifica una ruta de acceso de directorio, no una ruta de acceso de archivo. Si el directorio ya existe, este método no crea un nuevo directorio, pero devuelve un DirectoryInfo objeto para el directorio existente.

Los espacios finales se quitan del final del parámetro antes de path crear el directorio.

Puede crear un directorio en un equipo remoto, en un recurso compartido al que tenga acceso de escritura. Se admiten rutas UNC; Por ejemplo, puede especificar lo siguiente para path: \\2009\Archives\December en Visual Basic y \\\\2009\\Archives\\December en C#.

La creación de un directorio con solo el carácter de dos puntos (:) no se admite y hace que se produzca una NotSupportedException excepción .

Se aplica a