Directory.CreateDirectory Metoda
Definice
Důležité
Některé informace platí pro předběžně vydaný produkt, který se může zásadně změnit, než ho výrobce nebo autor vydá. Microsoft neposkytuje žádné záruky, výslovné ani předpokládané, týkající se zde uváděných informací.
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
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é
- DirectoryInfo
- Vstup/výstup souborů a streamů
- Postupy: Čtení textu ze souboru
- Postupy: Zápis textu do souboru
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
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í.