Directory.CreateDirectory Methode

Definitie

Hiermee maakt u alle mappen in een opgegeven pad.

Overloads

Name Description
CreateDirectory(String)

Hiermee maakt u alle mappen en submappen in het opgegeven pad, tenzij deze al bestaan.

CreateDirectory(String, UnixFileMode)

Hiermee maakt u alle mappen en submappen in het opgegeven pad met de opgegeven machtigingen, tenzij deze al bestaan.

CreateDirectory(String, DirectorySecurity)

Hiermee maakt u alle mappen in het opgegeven pad, tenzij deze al bestaan, waarbij de opgegeven Windows beveiliging wordt toegepast.

CreateDirectory(String)

Bron:
Directory.cs
Bron:
Directory.cs
Bron:
Directory.cs
Bron:
Directory.cs
Bron:
Directory.cs

Hiermee maakt u alle mappen en submappen in het opgegeven pad, tenzij deze al bestaan.

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

Parameters

path
String

De map die moet worden gemaakt.

Retouren

Een object dat de map op het opgegeven pad vertegenwoordigt. Dit object wordt geretourneerd, ongeacht of er al een map op het opgegeven pad bestaat.

Uitzonderingen

De map die is opgegeven door path is een bestand.

– of –

De netwerknaam is niet bekend.

De beller heeft niet de vereiste machtiging.

.NET Framework en .NET Core-versies ouder dan 2.1: path is een tekenreeks met lengte nul, bevat alleen witruimte of bevat een of meer ongeldige tekens. U kunt een query uitvoeren op ongeldige tekens met behulp van de GetInvalidPathChars() methode.

– of –

path wordt voorafgegaan door of bevat alleen een dubbele punt (:).

path is null.

Het opgegeven pad, de bestandsnaam of beide overschrijden de door het systeem gedefinieerde maximumlengte.

Het opgegeven pad is ongeldig (bijvoorbeeld op een niet-toegewezen station).

path bevat een dubbele punt (:) die geen deel uitmaakt van een stationslabel ('C:\').

Voorbeelden

In het volgende voorbeeld wordt de opgegeven map gemaakt en verwijderd:

using System;
using System.IO;

class Test
{
    public static void Main()
    {
        // Specify the directory you want to manipulate.
        string path = @"c:\MyDir";
        
        // Determine whether the directory exists.
        if (Directory.Exists(path))
        {
            Console.WriteLine("That path exists already.");
            return;
        }
        
        DirectoryInfo di;
        try
        {
            // Try to create the directory.
            di = Directory.CreateDirectory(path);
            Console.WriteLine("The directory was created successfully at {0}.", Directory.GetCreationTime(path));
        }
        catch (UnauthorizedAccessException e)
        {
            Console.WriteLine("The caller does not have the required permission to create `{0}`", path);
            return;
        }
        
        // Delete the directory.
        di.Delete();
        Console.WriteLine("The directory was deleted successfully.");
    }
}
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

Als u de map C:\Users\User1\Public\Html wilt maken wanneer de huidige map C:\Users\User1 is, gebruikt u een van de volgende aanroepen om ervoor te zorgen dat de backslash correct wordt geïnterpreteerd:

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

Opmerkingen

Alle mappen die zijn opgegeven in path , worden gemaakt, tenzij ze al bestaan of tenzij een deel ervan path ongeldig is. Als de map al bestaat, maakt deze methode geen nieuwe map, maar retourneert deze een DirectoryInfo object voor de bestaande map.

Met de path parameter wordt een mappad opgegeven, niet een bestandspad.

Volgspaties worden verwijderd aan het einde van de path parameter voordat u de map maakt.

U kunt een map maken op een externe computer, op een share waartoe u schrijftoegang hebt. UNC-paden worden ondersteund; U kunt bijvoorbeeld het volgende opgeven voor path: \\2009\Archives\December in Visual Basic en \\\\2009\\Archives\\December in C#.

Het maken van een map met alleen het dubbele punt (:) wordt niet ondersteund en veroorzaakt een NotSupportedException fout.

Gebruik op Unix-systemen een slash (/) als padscheidingsteken.

Zie ook

Van toepassing op

CreateDirectory(String, UnixFileMode)

Bron:
Directory.cs
Bron:
Directory.cs
Bron:
Directory.cs
Bron:
Directory.cs
Bron:
Directory.cs

Hiermee maakt u alle mappen en submappen in het opgegeven pad met de opgegeven machtigingen, tenzij deze al bestaan.

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

Parameters

path
String

De map die moet worden gemaakt.

unixCreateMode
UnixFileMode

Een bitsgewijze combinatie van de opsommingswaarden waarmee de Unix-bestandsmodus wordt opgegeven die wordt gebruikt voor het maken van mappen.

Retouren

Een object dat de map op het opgegeven pad vertegenwoordigt. Dit object wordt geretourneerd, ongeacht of er al een map op het opgegeven pad bestaat.

Kenmerken

Uitzonderingen

path is een tekenreeks met lengte nul of bevat een of meer ongeldige tekens. U kunt een query uitvoeren op ongeldige tekens met behulp van de GetInvalidPathChars() methode.

path is null.

De bestandsmodus is ongeldig.

De beller heeft niet de vereiste machtiging.

Het opgegeven pad overschrijdt de door het systeem gedefinieerde maximumlengte.

path is een bestand.

Een onderdeel van de path map is geen map.

Van toepassing op

CreateDirectory(String, DirectorySecurity)

Hiermee maakt u alle mappen in het opgegeven pad, tenzij deze al bestaan, waarbij de opgegeven Windows beveiliging wordt toegepast.

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

Parameters

path
String

De map die moet worden gemaakt.

directorySecurity
DirectorySecurity

Het toegangsbeheer dat moet worden toegepast op de map.

Retouren

Een object dat de map op het opgegeven pad vertegenwoordigt. Dit object wordt geretourneerd, ongeacht of er al een map op het opgegeven pad bestaat.

Uitzonderingen

De map die is opgegeven door path is een bestand.

– of –

De netwerknaam is niet bekend.

De beller heeft niet de vereiste machtiging.

.NET Framework en .NET Core-versies ouder dan 2.1: path is een tekenreeks met lengte nul, bevat alleen witruimte of bevat een of meer ongeldige tekens. U kunt een query uitvoeren op ongeldige tekens met behulp van de GetInvalidPathChars() methode.

– of –

path wordt voorafgegaan door of bevat alleen een dubbele punt (:).

path is null.

Het opgegeven pad, de bestandsnaam of beide overschrijden de door het systeem gedefinieerde maximumlengte.

Het opgegeven pad is ongeldig (bijvoorbeeld op een niet-toegewezen station).

path bevat een dubbele punt (:) die geen deel uitmaakt van een stationslabel ('C:\').

Voorbeelden

In het volgende voorbeeld wordt een nieuwe map gemaakt met toegangsregels voor twee gebruikersaccounts.

using System;
using System.IO;
using System.Security.AccessControl;

partial class Program
{
    static void DirectorySecurityExample()
    {
        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

Partial Class Program
    Shared Sub DirectorySecurityExample()

        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 Class

Opmerkingen

Gebruik deze methode overbelasting om een map te maken met toegangsbeheer, zodat er geen kans is dat de directory kan worden geopend voordat de beveiliging wordt toegepast.

Alle mappen die in de path parameter zijn opgegeven, worden gemaakt, tenzij ze al bestaan of tenzij een deel ongeldig path is. Met de path parameter wordt een mappad opgegeven, niet een bestandspad. Als de map al bestaat, maakt deze methode geen nieuwe map, maar retourneert deze een DirectoryInfo object voor de bestaande map.

Volgspaties worden verwijderd aan het einde van de path parameter voordat u de map maakt.

U kunt een map maken op een externe computer, op een share waartoe u schrijftoegang hebt. UNC-paden worden ondersteund; U kunt bijvoorbeeld het volgende opgeven voor path: \\2009\Archives\December in Visual Basic en \\\\2009\\Archives\\December in C#.

Het maken van een map met alleen het dubbele punt (:) wordt niet ondersteund en veroorzaakt een NotSupportedException fout.

Van toepassing op