DirectoryInfo.Create 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 ein Verzeichnis.
Überlädt
| Name | Beschreibung |
|---|---|
| Create() |
Erstellt ein Verzeichnis. |
| Create(DirectorySecurity) |
Erstellt ein Verzeichnis mit einem DirectorySecurity Objekt. |
Create()
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, wenn es nicht vorhanden ist, und das Verzeichnis gelöscht.
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 path der Datei angegebenen Verzeichnisse werden erstellt, es sei denn, ein Teil ist path 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 ist.
Eine Liste allgemeiner E/A-Aufgaben finden Sie unter "Allgemeine E/A-Aufgaben".
Weitere Informationen
- Datei- und Stream-E/A
- Vorgehensweise: Lesen von Text aus einer Datei
- Vorgehensweise: Schreiben von Text in eine Datei
Gilt für:
Create(DirectorySecurity)
Erstellt ein Verzeichnis mit einem 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)
Parameter
- directorySecurity
- DirectorySecurity
Die Zugriffssteuerung, die auf das Verzeichnis angewendet werden soll.
Ausnahmen
Der Aufrufer verfügt nicht über die erforderliche Berechtigung.
Der angegebene Pfad, der Dateiname oder beide überschreiten die vom System definierte maximale Länge.
Der angegebene Pfad ist ungültig, z. B. auf einem nicht zugeordneten Laufwerk.
Erstellen eines Verzeichnisses mit nur dem Doppelpunkt (:) Zeichen wurde versucht.
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, daher besteht keine Chance, 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 allgemeiner E/A-Aufgaben finden Sie unter "Allgemeine E/A-Aufgaben".
Important
Diese Methode wurde als Erweiterungsmethode der klasse FileSystemAclExtensions als Teil der assembly System.Security.AccessControl:Create(DirectoryInfo, DirectorySecurity) zu .NET Core 3.1 portiert.