Freigeben über


DirectoryInfo.Create Methode

Definition

Erstellt ein Verzeichnis.

Überlädt

Create()

Erstellt ein Verzeichnis.

Create(DirectorySecurity)

Erstellt mithilfe eines DirectorySecurity-Objekts ein Verzeichnis.

Create()

Quelle:
DirectoryInfo.cs
Quelle:
DirectoryInfo.cs
Quelle:
DirectoryInfo.cs

Erstellt ein Verzeichnis.

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

Ausnahmen

Das Verzeichnis kann nicht erstellt werden.

Beispiele

Im folgenden Beispiel wird überprüft, ob ein angegebenes Verzeichnis vorhanden ist, das Verzeichnis erstellt, falls es nicht vorhanden ist, und das Verzeichnis wird gelöscht.

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

Hinweise

Alle in angegebenen path Verzeichnisse werden erstellt, es sei denn, ein Teil von path ist ungültig. Der path Parameter gibt einen Verzeichnispfad und keinen Dateipfad an. Wenn das Verzeichnis bereits vorhanden ist, führt diese Methode nichts aus. Wenn das Verzeichnis vor dem Aufrufen dieser Methode nicht vorhanden war, werden alle zwischengespeicherten Attributinformationen zum Verzeichnis geleert, wenn die Erstellung erfolgreich war.

Eine Liste der allgemeinen E/A-Aufgaben finden Sie unter Allgemeine E/A-Aufgaben.

Weitere Informationen

Gilt für:

Create(DirectorySecurity)

Erstellt mithilfe eines DirectorySecurity-Objekts ein Verzeichnis.

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)

Parameter

directorySecurity
DirectorySecurity

Die Zugriffssteuerung, die auf das Verzeichnis angewendet werden soll.

Ausnahmen

Der Aufrufer verfügt nicht über die erforderliche Berechtigung.

.NET Framework und .NET Core-Versionen älter als 2.1: path ist eine Zeichenfolge der Länge null, enthält nur Leerzeichen oder enthält ein oder mehrere ungültige Zeichen. Sie können Abfragen für ungültige Zeichen mithilfe der GetInvalidPathChars()-Methode ausführen.

path ist null.

Der angegebene Pfad und/oder Dateiname überschreiten die vom System definierte maximale Länge.

Der angegebene Pfad ist ungültig, z. B. befindet er sich auf einem nicht zugeordneten Laufwerk.

Es wurde versucht, ein Verzeichnis ausschließlich mit dem Doppelpunkt (:) zu erstellen.

Beispiele

Im folgenden Codebeispiel wird ein neues Verzeichnis im temporären Ordner des Benutzers mit den angegebenen Verzeichnissicherheitsattributen erstellt:

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

Hinweise

Verwenden Sie diese Methodenüberladung, um ein Verzeichnis mit Zugriffssteuerung zu erstellen, sodass keine Chance besteht, dass auf das Verzeichnis zugegriffen werden kann, bevor die Sicherheit angewendet wird.

Wenn das Verzeichnis bereits vorhanden ist, führt diese Methode nichts aus.

Eine Liste der allgemeinen E/A-Aufgaben finden Sie unter Allgemeine E/A-Aufgaben.

Wichtig

Diese Methode wurde als Erweiterungsmethode der -Klasse als Teil System.Security.AccessControl der FileSystemAclExtensions Assembly zu .NET Core 3.1 portiert: Create(DirectoryInfo, DirectorySecurity).

Gilt für: