Auf Englisch lesen

Freigeben über


Directory.CreateDirectory Methode

Definition

Erstellt alle Verzeichnisse in einem angegebenen Pfad.

Überlädt

CreateDirectory(String)

Erstellt alle Verzeichnisse und Unterverzeichnisse im angegebenen Pfad, es sei denn, sie sind bereits vorhanden.

CreateDirectory(String, UnixFileMode)

Erstellt alle Verzeichnisse und Unterverzeichnisse im angegebenen Pfad mit den angegebenen Berechtigungen, sofern sie nicht bereits vorhanden sind.

CreateDirectory(String, DirectorySecurity)

Erstellt alle Verzeichnisse im angegebenen Pfad, sofern diese nicht bereits vorhanden sind. Dabei wird die angegebene Windows-Sicherheit angewendet.

CreateDirectory(String)

Quelle:
Directory.cs
Quelle:
Directory.cs
Quelle:
Directory.cs

Erstellt alle Verzeichnisse und Unterverzeichnisse im angegebenen Pfad, es sei denn, sie sind bereits vorhanden.

public static System.IO.DirectoryInfo CreateDirectory (string path);

Parameter

path
String

Das zu erstellende Verzeichnis.

Gibt zurück

Ein Objekt, das das Verzeichnis im angegebenen Pfad darstellt. Dieses Objekt wird unabhängig davon zurückgegeben, ob ein Verzeichnis unter dem angegebenen Pfad bereits vorhanden ist.

Ausnahmen

Das durch path angegebene Verzeichnis ist eine Datei.

- oder -

Der Netzwerkname ist nicht bekannt.

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.

- oder -

path ist ein Doppelpunkt (:) vorangestellt bzw. enthält nur einen Doppelpunkt.

path ist null.

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

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

path enthält einen Doppelpunkt (:), der nicht Teil einer Laufwerksbezeichnung ("C:\") ist.

Beispiele

Im folgenden Beispiel wird das angegebene Verzeichnis erstellt und gelöscht:

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 {}
    }
}

Verwenden Sie einen der folgenden Aufrufe, um das Verzeichnis C:\Users\User1\Public\Html zu erstellen, wenn das aktuelle Verzeichnis C:\Users\User1 ist, um sicherzustellen, dass der umgekehrte Schrägstrich ordnungsgemäß interpretiert wird:

Directory.CreateDirectory("Public\\Html");
Directory.CreateDirectory("\\Users\\User1\\Public\\Html");
Directory.CreateDirectory("c:\\Users\\User1\\Public\\Html");

Hinweise

Alle in angegebenen path Verzeichnisse werden erstellt, es sei denn, sie sind bereits vorhanden oder ein Teil von path ist ungültig. Wenn das Verzeichnis bereits vorhanden ist, erstellt diese Methode kein neues Verzeichnis, gibt jedoch ein DirectoryInfo -Objekt für das vorhandene Verzeichnis zurück.

Der path Parameter gibt einen Verzeichnispfad und keinen Dateipfad an.

Nachfolgende Leerzeichen werden am Ende des path Parameters entfernt, bevor das Verzeichnis erstellt wird.

Sie können ein Verzeichnis auf einem Remotecomputer auf einer Freigabe erstellen, auf die Sie Schreibzugriff haben. UNC-Pfade werden unterstützt. Beispielsweise können Sie Folgendes für pathangeben: \\2009\Archives\December in Visual Basic und \\\\2009\\Archives\\December in C#.

Das Erstellen eines Verzeichnisses mit nur dem Doppelpunktzeichen (:) wird nicht unterstützt und bewirkt, dass ein NotSupportedException ausgelöst wird.

Verwenden Sie auf Unix-Systemen einen Schrägstrich (/) als Pfadtrennzeichen.

Weitere Informationen

Gilt für:

.NET 9 und andere Versionen
Produkt Versionen
.NET Core 1.0, Core 1.1, Core 2.0, Core 2.1, Core 2.2, Core 3.0, Core 3.1, 5, 6, 7, 8, 9
.NET Framework 1.1, 2.0, 3.0, 3.5, 4.0, 4.5, 4.5.1, 4.5.2, 4.6, 4.6.1, 4.6.2, 4.7, 4.7.1, 4.7.2, 4.8, 4.8.1
.NET Standard 1.3, 1.4, 1.6, 2.0, 2.1
UWP 10.0

CreateDirectory(String, UnixFileMode)

Quelle:
Directory.cs
Quelle:
Directory.cs
Quelle:
Directory.cs

Erstellt alle Verzeichnisse und Unterverzeichnisse im angegebenen Pfad mit den angegebenen Berechtigungen, sofern sie nicht bereits vorhanden sind.

[System.Runtime.Versioning.UnsupportedOSPlatform("windows")]
public static System.IO.DirectoryInfo CreateDirectory (string path, System.IO.UnixFileMode unixCreateMode);

Parameter

path
String

Das zu erstellende Verzeichnis.

unixCreateMode
UnixFileMode

Eine bitweise Kombination der Enumerationswerte, die den Unix-Dateimodus angibt, der zum Erstellen von Verzeichnissen verwendet wird.

Gibt zurück

Ein Objekt, das das Verzeichnis im angegebenen Pfad darstellt. Dieses Objekt wird unabhängig davon zurückgegeben, ob ein Verzeichnis unter dem angegebenen Pfad bereits vorhanden ist.

Attribute

Ausnahmen

path ist eine Zeichenfolge der Länge Null 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 Dateimodus ist ungültig.

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

Der angegebene Pfad überschreitet die für das System definierte maximale Länge.

path ist eine Datei.

Eine Komponente von path ist kein Verzeichnis.

Gilt für:

.NET 9 und andere Versionen
Produkt Versionen
.NET 7, 8, 9

CreateDirectory(String, DirectorySecurity)

Erstellt alle Verzeichnisse im angegebenen Pfad, sofern diese nicht bereits vorhanden sind. Dabei wird die angegebene Windows-Sicherheit angewendet.

public static System.IO.DirectoryInfo CreateDirectory (string path, System.Security.AccessControl.DirectorySecurity directorySecurity);

Parameter

path
String

Das zu erstellende Verzeichnis.

directorySecurity
DirectorySecurity

Die Zugriffssteuerung, die auf das Verzeichnis angewendet werden soll.

Gibt zurück

Ein Objekt, das das Verzeichnis im angegebenen Pfad darstellt. Dieses Objekt wird unabhängig davon zurückgegeben, ob ein Verzeichnis unter dem angegebenen Pfad bereits vorhanden ist.

Ausnahmen

Das durch path angegebene Verzeichnis ist eine Datei.

- oder -

Der Netzwerkname ist nicht bekannt.

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.

- oder -

path ist ein Doppelpunkt (:) vorangestellt bzw. enthält nur einen Doppelpunkt.

path ist null.

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

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

path enthält einen Doppelpunkt (:), der nicht Teil einer Laufwerksbezeichnung ("C:\") ist.

Beispiele

Im folgenden Beispiel wird ein neues Verzeichnis mit Zugriffsregeln für zwei Benutzerkonten erstellt.

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

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.

Alle im path Parameter angegebenen Verzeichnisse werden erstellt, es sei denn, sie sind bereits vorhanden oder ein Teil von path ist ungültig. Der path Parameter gibt einen Verzeichnispfad und keinen Dateipfad an. Wenn das Verzeichnis bereits vorhanden ist, erstellt diese Methode kein neues Verzeichnis, gibt jedoch ein DirectoryInfo -Objekt für das vorhandene Verzeichnis zurück.

Nachfolgende Leerzeichen werden am Ende des path Parameters entfernt, bevor das Verzeichnis erstellt wird.

Sie können ein Verzeichnis auf einem Remotecomputer auf einer Freigabe erstellen, auf die Sie Schreibzugriff haben. UNC-Pfade werden unterstützt. Beispielsweise können Sie Folgendes für pathangeben: \\2009\Archives\December in Visual Basic und \\\\2009\\Archives\\December in C#.

Das Erstellen eines Verzeichnisses mit nur dem Doppelpunktzeichen (:) wird nicht unterstützt und bewirkt, dass ein NotSupportedException ausgelöst wird.

Gilt für:

.NET Framework 4.8.1 und andere Versionen
Produkt Versionen
.NET Framework 2.0, 3.0, 3.5, 4.0, 4.5, 4.5.1, 4.5.2, 4.6, 4.6.1, 4.6.2, 4.7, 4.7.1, 4.7.2, 4.8, 4.8.1