Directory.CreateDirectory Método
Definición
Importante
Parte de la información hace referencia a la versión preliminar del producto, que puede haberse modificado sustancialmente antes de lanzar la versión definitiva. Microsoft no otorga ninguna garantía, explícita o implícita, con respecto a la información proporcionada aquí.
Crea todos los directorios de una ruta de acceso especificada.
Sobrecargas
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 en la ruta de acceso especificada, salvo que ya existan, aplicando la seguridad de Windows especificada. |
CreateDirectory(String)
- 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
Un objeto que representa el directorio en la ruta de acceso especificada. Este objeto se devuelve sin importar si ya existe un directorio en la ruta especificada.
Excepciones
El directorio especificado por path
es un archivo.
O bien
El nombre de la red es desconocido.
El llamador no dispone del permiso requerido.
Versiones de .NET Framework y .NET Core anteriores a 2.1: path
es una cadena de longitud cero, contiene solo espacios en blanco o contiene uno o varios caracteres no válidos. Puede consultar los caracteres no válidos con el método GetInvalidPathChars().
O bien
path
tiene como prefijo o contiene solamente 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 de disco ("C:\").
Ejemplos
En el ejemplo siguiente se crea y se elimina el directorio especificado:
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
Para crear el directorio C:\Users\User1\Public\Html cuando el directorio actual es 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");
Directory::CreateDirectory("Public\\Html");
Directory::CreateDirectory("\\Users\\User1\\Public\\Html");
Directory::CreateDirectory("c:\\Users\\User1\\Public\\Html");
Comentarios
Se crean 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 directorio nuevo, 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 path
parámetro antes de 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
- DirectoryInfo
- E/S de archivos y secuencias
- Cómo: Leer texto de un archivo
- Cómo: Escribir texto en un archivo
Se aplica a
CreateDirectory(String, UnixFileMode)
- 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 utilizado para crear directorios.
Devoluciones
Un objeto que representa el directorio en la ruta de acceso especificada. Este objeto se devuelve sin importar si ya existe un directorio en la ruta especificada.
- Atributos
Excepciones
path
es una cadena de longitud cero o contiene uno o varios caracteres no válidos. Puede consultar los caracteres no válidos con el método GetInvalidPathChars().
path
es null
.
El modo de archivo no es válido.
El llamador no dispone del permiso requerido.
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 en la ruta de acceso especificada, salvo 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 aplica al directorio.
Devoluciones
Un objeto que representa el directorio en la ruta de acceso especificada. Este objeto se devuelve sin importar si ya existe un directorio en la ruta especificada.
Excepciones
El directorio especificado por path
es un archivo.
O bien
El nombre de la red es desconocido.
El llamador no dispone del permiso requerido.
Versiones de .NET Framework y .NET Core anteriores a 2.1: path
es una cadena de longitud cero, contiene solo espacios en blanco o contiene uno o varios caracteres no válidos. Puede consultar los caracteres no válidos con el método GetInvalidPathChars().
O bien
path
tiene como prefijo o contiene solamente 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 de disco ("C:\").
Ejemplos
En el ejemplo siguiente se crea un directorio con reglas de acceso para dos cuentas de usuario.
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
Comentarios
Use esta sobrecarga de método para crear un directorio con control de acceso, por lo que no es posible tener acceso al directorio antes de aplicar la seguridad.
Se crean todos 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 directorio nuevo, pero devuelve un DirectoryInfo objeto para el directorio existente.
Los espacios finales se quitan del final del path
parámetro antes de 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 .