Directory.CreateDirectory Metoda

Definice

Vytvoří všechny adresáře v zadané cestě.

Přetížení

Name Description
CreateDirectory(String)

Vytvoří všechny adresáře a podadresáře v zadané cestě, pokud ještě neexistují.

CreateDirectory(String, UnixFileMode)

Vytvoří všechny adresáře a podadresáře v zadané cestě se zadanými oprávněními, pokud ještě neexistují.

CreateDirectory(String, DirectorySecurity)

Vytvoří všechny adresáře v zadané cestě, pokud ještě neexistují, a použije zadané zabezpečení systému Windows.

CreateDirectory(String)

Zdroj:
Directory.cs
Zdroj:
Directory.cs
Zdroj:
Directory.cs
Zdroj:
Directory.cs
Zdroj:
Directory.cs

Vytvoří všechny adresáře a podadresáře v zadané cestě, pokud ještě neexistují.

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

Parametry

path
String

Adresář, který chcete vytvořit.

Návraty

Objekt, který představuje adresář v zadané cestě. Tento objekt je vrácen bez ohledu na to, zda adresář v zadané cestě již existuje.

Výjimky

Adresář určený souborem path .

nebo

Název sítě není znám.

Volající nemá požadované oprávnění.

Verze .NET Framework a .NET Core starší než 2.1: path je řetězec nulové délky, obsahuje pouze prázdné znaky nebo obsahuje jeden nebo více neplatných znaků. Pomocí metody můžete zadat dotaz na neplatné znaky GetInvalidPathChars() .

nebo

path má předponu nebo obsahuje pouze dvojtečku (:).

path je null.

Zadaná cesta, název souboru nebo obojí překračují maximální délku definovanou systémem.

Zadaná cesta je neplatná (například je na nemapované jednotce).

path obsahuje dvojtečku (:), která není součástí popisku jednotky ("C:\").

Příklady

Následující příklad vytvoří a odstraní zadaný adresář:

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

Chcete-li vytvořit adresář C:\Users\User1\Public\Html , pokud je aktuální adresář C:\Users\User1, použijte některé z následujících volání k zajištění správné interpretace zpětného lomítka:

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

Poznámky

Všechny a všechny adresáře zadané v path tomto adresáři jsou vytvořeny, pokud již neexistují nebo pokud některá část path není neplatná. Pokud adresář již existuje, tato metoda nevytvoří nový adresář, ale vrátí DirectoryInfo objekt pro existující adresář.

Parametr path určuje cestu k adresáři, nikoli cestu k souboru.

Koncové mezery se před vytvořením adresáře odeberou z konce parametru path .

Adresář můžete vytvořit na vzdáleném počítači ve sdílené složce, ke které máte přístup pro zápis. Cesty UNC jsou podporovány; Můžete například zadat následující položky pro path: \\2009\Archives\December v Visual Basic a \\\\2009\\Archives\\December v jazyce C#.

Vytvoření adresáře pouze s dvojtečkami (:) není podporováno a vyvolá NotSupportedException se vyvolání.

V systémech Unix použijte jako oddělovač cesty lomítko (/).

Viz také

Platí pro

CreateDirectory(String, UnixFileMode)

Zdroj:
Directory.cs
Zdroj:
Directory.cs
Zdroj:
Directory.cs
Zdroj:
Directory.cs
Zdroj:
Directory.cs

Vytvoří všechny adresáře a podadresáře v zadané cestě se zadanými oprávněními, pokud ještě neexistují.

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

Parametry

path
String

Adresář, který chcete vytvořit.

unixCreateMode
UnixFileMode

Bitová kombinace hodnot výčtu, která určuje režim souboru Unix použitý k vytvoření adresářů.

Návraty

Objekt, který představuje adresář v zadané cestě. Tento objekt je vrácen bez ohledu na to, zda adresář v zadané cestě již existuje.

Atributy

Výjimky

path je řetězec nulové délky nebo obsahuje jeden nebo více neplatných znaků. Pomocí metody můžete zadat dotaz na neplatné znaky GetInvalidPathChars() .

path je null.

Režim souboru je neplatný.

Volající nemá požadované oprávnění.

Zadaná cesta překračuje maximální délku definovanou systémem.

path je soubor.

Komponenta není path adresář.

Platí pro

CreateDirectory(String, DirectorySecurity)

Vytvoří všechny adresáře v zadané cestě, pokud ještě neexistují, a použije zadané zabezpečení systému Windows.

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

Parametry

path
String

Adresář, který chcete vytvořit.

directorySecurity
DirectorySecurity

Řízení přístupu, které se má použít v adresáři.

Návraty

Objekt, který představuje adresář v zadané cestě. Tento objekt je vrácen bez ohledu na to, zda adresář v zadané cestě již existuje.

Výjimky

Adresář určený souborem path .

nebo

Název sítě není znám.

Volající nemá požadované oprávnění.

Verze .NET Framework a .NET Core starší než 2.1: path je řetězec nulové délky, obsahuje pouze prázdné znaky nebo obsahuje jeden nebo více neplatných znaků. Pomocí metody můžete zadat dotaz na neplatné znaky GetInvalidPathChars() .

nebo

path má předponu nebo obsahuje pouze dvojtečku (:).

path je null.

Zadaná cesta, název souboru nebo obojí překračují maximální délku definovanou systémem.

Zadaná cesta je neplatná (například je na nemapované jednotce).

path obsahuje dvojtečku (:), která není součástí popisku jednotky ("C:\").

Příklady

Následující příklad vytvoří nový adresář s pravidly přístupu pro dva uživatelské účty.

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

Poznámky

Tuto metodu přetížení použijte k vytvoření adresáře s řízením přístupu, takže není možné získat přístup k adresáři před použitím zabezpečení.

Všechny a všechny adresáře zadané v parametru path jsou vytvořeny, pokud již neexistují nebo pokud některá část path není neplatná. Parametr path určuje cestu k adresáři, nikoli cestu k souboru. Pokud adresář již existuje, tato metoda nevytvoří nový adresář, ale vrátí DirectoryInfo objekt pro existující adresář.

Koncové mezery se před vytvořením adresáře odeberou z konce parametru path .

Adresář můžete vytvořit na vzdáleném počítači ve sdílené složce, ke které máte přístup pro zápis. Cesty UNC jsou podporovány; Můžete například zadat následující položky pro path: \\2009\Archives\December v Visual Basic a \\\\2009\\Archives\\December v jazyce C#.

Vytvoření adresáře pouze s dvojtečku (:) není podporováno a způsobí NotSupportedException vyvolání.

Platí pro