DirectoryInfo.Create Metod

Definition

Skapar en katalog.

Överlagringar

Name Description
Create()

Skapar en katalog.

Create(DirectorySecurity)

Skapar en katalog med hjälp av ett DirectorySecurity objekt.

Create()

Skapar en katalog.

public:
 void Create();
public void Create();
member this.Create : unit -> unit
Public Sub Create ()

Undantag

Det går inte att skapa katalogen.

Exempel

I följande exempel kontrolleras om det finns en angiven katalog, skapar katalogen om den inte finns och tar bort katalogen.

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

Kommentarer

Alla kataloger som anges i path skapas, såvida inte någon del av path är ogiltig. Parametern path anger en katalogsökväg, inte en filsökväg. Om katalogen redan finns gör den här metoden ingenting. Om katalogen inte fanns innan den här metoden anropades rensas all cachelagrad attributinformation om katalogen om skapandet lyckas.

En lista över vanliga I/O-uppgifter finns i Vanliga I/O-uppgifter.

Se även

Gäller för

Create(DirectorySecurity)

Skapar en katalog med hjälp av ett DirectorySecurity objekt.

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)

Parametrar

directorySecurity
DirectorySecurity

Åtkomstkontrollen som ska tillämpas på katalogen.

Undantag

Anroparen har inte den behörighet som krävs.

Den angivna sökvägen, filnamnet eller båda överskrider den systemdefinierade maximala längden.

Den angivna sökvägen är ogiltig, till exempel på en ommappad enhet.

Skapa en katalog med endast kolonet (:)-tecknet försöktes.

Exempel

I följande kodexempel skapas en ny katalog i användarens temporära mapp med de angivna katalogsäkerhetsattributen:

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

Kommentarer

Använd den här metoden för att skapa en katalog med åtkomstkontroll, så det finns ingen chans att katalogen kan nås innan säkerheten tillämpas.

Om katalogen redan finns gör den här metoden ingenting.

En lista över vanliga I/O-uppgifter finns i Vanliga I/O-uppgifter.

Important

Den här metoden portades till .NET Core 3.1 som en tilläggsmetod för klassen FileSystemAclExtensions som en del av sammansättningen System.Security.AccessControl: Create(DirectoryInfo, DirectorySecurity).

Gäller för