DirectoryInfo.Create Método
Definição
Importante
Algumas informações dizem respeito a um produto pré-lançado que pode ser substancialmente modificado antes de ser lançado. A Microsoft não faz garantias, de forma expressa ou implícita, em relação à informação aqui apresentada.
Cria um diretório.
Sobrecargas
| Name | Description |
|---|---|
| Create() |
Cria um diretório. |
| Create(DirectorySecurity) |
Cria um diretório usando um DirectorySecurity objeto. |
Create()
- Origem:
- DirectoryInfo.cs
- Origem:
- DirectoryInfo.cs
- Origem:
- DirectoryInfo.cs
- Origem:
- DirectoryInfo.cs
- Origem:
- DirectoryInfo.cs
Cria um diretório.
public:
void Create();
public void Create();
member this.Create : unit -> unit
Public Sub Create ()
Exceções
O diretório não pode ser criado.
Exemplos
O exemplo seguinte verifica se existe um diretório especificado, cria o diretório se este não existir e elimina o diretório.
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
Observações
Todos os diretórios especificados path em são criados, a menos que alguma parte de path seja inválida. O path parâmetro especifica um caminho de diretório, não um caminho de ficheiro. Se o diretório já existir, este método não faz nada. Se o diretório não existia antes de chamar este método, então qualquer informação de atributo em cache sobre o diretório será eliminada se a criação for bem-sucedida.
Para uma lista de tarefas comuns de E/S, consulte Tarefas Comuns de E/S.
Ver também
Aplica-se a
Create(DirectorySecurity)
Cria um diretório usando um DirectorySecurity objeto.
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
O controlo de acesso a aplicar ao diretório.
Exceções
O interlocutor não tem a permissão necessária.
O caminho especificado, nome do ficheiro ou ambos excedem o comprimento máximo definido pelo sistema.
O caminho especificado é inválido, como se estivesse num disco não mapeado.
Tentou-se criar um diretório apenas com os dois-pontos (:) caractere.
Exemplos
O seguinte exemplo de código cria um novo diretório dentro da pasta temporária do utilizador com os atributos de segurança do diretório 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);
}
}
}
Observações
Use este método de sobrecarga para criar um diretório com controlo de acesso, pelo que não há hipótese de o diretório ser acedido antes de a segurança ser aplicada.
Se o diretório já existir, este método não faz nada.
Para uma lista de tarefas comuns de E/S, consulte Tarefas Comuns de E/S.
Importante
Este método foi portado para .NET Core 3.1 como um método de extensão da classe FileSystemAclExtensions como parte da assembleia System.Security.AccessControl: Create(DirectoryInfo, DirectorySecurity).