Directory.CreateDirectory Methode
Definition
Wichtig
Einige Informationen beziehen sich auf Vorabversionen, die vor dem Release ggf. grundlegend überarbeitet werden. Microsoft übernimmt hinsichtlich der hier bereitgestellten Informationen keine Gewährleistungen, seien sie ausdrücklich oder konkludent.
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(System::String ^ path);
public static System.IO.DirectoryInfo CreateDirectory (string path);
static member CreateDirectory : string -> System.IO.DirectoryInfo
Public Shared Function CreateDirectory (path As String) As DirectoryInfo
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 namespace System;
using namespace System::IO;
int 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 0;
}
// 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 );
}
}
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 {}
}
}
open System.IO
// Specify the directory you want to manipulate.
let path = @"c:\MyDir"
try
// Determine whether the directory exists.
if Directory.Exists path then
printfn "That path exists already."
else
// Try to create the directory.
let di = Directory.CreateDirectory path
printfn $"The directory was created successfully at {Directory.GetCreationTime path}."
// 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 directory you want to manipulate.
Dim path As String = "c:\MyDir"
Try
' Determine whether the directory exists.
If Directory.Exists(path) Then
Console.WriteLine("That path exists already.")
Return
End If
' Try to create the directory.
Dim di As DirectoryInfo = 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 e As Exception
Console.WriteLine("The process failed: {0}.", e.ToString())
End Try
End Sub
End Class
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")
Directory.CreateDirectory("Public\\Html");
Directory.CreateDirectory("\\Users\\User1\\Public\\Html");
Directory.CreateDirectory("c:\\Users\\User1\\Public\\Html");
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 path
angeben: \\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
- DirectoryInfo
- Datei- und Stream-E/A
- How to: Lesen von Text aus einer Datei
- How to: Schreiben von Text in eine Datei
Gilt für:
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.
public:
static System::IO::DirectoryInfo ^ CreateDirectory(System::String ^ path, System::IO::UnixFileMode unixCreateMode);
[System.Runtime.Versioning.UnsupportedOSPlatform("windows")]
public static System.IO.DirectoryInfo CreateDirectory (string path, System.IO.UnixFileMode unixCreateMode);
[<System.Runtime.Versioning.UnsupportedOSPlatform("windows")>]
static member CreateDirectory : string * System.IO.UnixFileMode -> System.IO.DirectoryInfo
Public Shared Function CreateDirectory (path As String, unixCreateMode As UnixFileMode) As DirectoryInfo
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:
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(System::String ^ path, System::Security::AccessControl::DirectorySecurity ^ directorySecurity);
public static System.IO.DirectoryInfo CreateDirectory (string path, System.Security.AccessControl.DirectorySecurity directorySecurity);
static member CreateDirectory : string * System.Security.AccessControl.DirectorySecurity -> System.IO.DirectoryInfo
Public Shared Function CreateDirectory (path As String, directorySecurity As DirectorySecurity) As DirectoryInfo
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);
}
}
}
open System.IO
open System.Security.AccessControl
let securityRules = DirectorySecurity()
securityRules.AddAccessRule(FileSystemAccessRule(@"Domain\account1", FileSystemRights.Read, AccessControlType.Allow))
securityRules.AddAccessRule(FileSystemAccessRule(@"Domain\account2", FileSystemRights.FullControl, AccessControlType.Allow))
let di = Directory.CreateDirectory(@"C:\destination\NewDirectory", securityRules)
Imports System.IO
Imports System.Security.AccessControl
Module Module1
Sub Main()
Dim securityRules As DirectorySecurity = New DirectorySecurity()
securityRules.AddAccessRule(New FileSystemAccessRule("Domain\account1", FileSystemRights.Read, AccessControlType.Allow))
securityRules.AddAccessRule(New FileSystemAccessRule("Domain\account2", FileSystemRights.FullControl, AccessControlType.Allow))
Dim di As DirectoryInfo = Directory.CreateDirectory("C:\destination\NewDirectory", securityRules)
End Sub
End Module
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 path
angeben: \\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.