DirectoryInfo.Create 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 un directorio.
Sobrecargas
Create() |
Crea un directorio. |
Create(DirectorySecurity) |
Crea un directorio mediante un objeto DirectorySecurity. |
Create()
- Source:
- DirectoryInfo.cs
- Source:
- DirectoryInfo.cs
- Source:
- DirectoryInfo.cs
Crea un directorio.
public:
void Create();
public void Create ();
member this.Create : unit -> unit
Public Sub Create ()
Excepciones
No se puede crear el directorio.
Ejemplos
En el ejemplo siguiente se comprueba si existe un directorio especificado, se crea el directorio si no existe y se elimina el directorio.
using namespace System;
using namespace System::IO;
int main()
{
// Specify the directories you want to manipulate.
DirectoryInfo^ di = gcnew DirectoryInfo( "c:\\MyDir" );
try
{
// Determine whether the directory exists.
if ( di->Exists )
{
// Indicate that it already exists.
Console::WriteLine( "That path exists already." );
return 0;
}
// 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 );
}
}
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
Comentarios
Se crean todos los directorios especificados en path
, 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 hace nada. Si el directorio no existía antes de llamar a este método, cualquier información de atributo almacenada en caché sobre el directorio se vaciará si la creación se realiza correctamente.
Para obtener una lista de las tareas de E/S comunes, consulte Tareas de E/S comunes.
Consulte también
Se aplica a
Create(DirectorySecurity)
Crea un directorio mediante un objeto DirectorySecurity.
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)
Parámetros
- directorySecurity
- DirectorySecurity
Control de acceso que se aplica al directorio.
Excepciones
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().
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.
Se intentó crear un directorio con solo el carácter de dos puntos (:).
Ejemplos
En el ejemplo de código siguiente se crea un directorio dentro de la carpeta temporal del usuario con los atributos de seguridad de directorio especificados:
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);
}
}
}
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.
Si el directorio ya existe, este método no hace nada.
Para obtener una lista de las tareas de E/S comunes, consulte Tareas de E/S comunes.
Importante
Este método se ha migrado a .NET Core 3.1 como método de extensión de la FileSystemAclExtensions
clase como parte del System.Security.AccessControl
ensamblado: Create(DirectoryInfo, DirectorySecurity).