Directory.CreateDirectory Methode
Definitie
Belangrijk
Bepaalde informatie heeft betrekking op een voorlopige productversie die aanzienlijk kan worden gewijzigd voordat deze wordt uitgebracht. Microsoft biedt geen enkele expliciete of impliciete garanties met betrekking tot de informatie die hier wordt verstrekt.
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 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
- DirectoryInfo
- Bestands- en Stream-I/O
- Procedure: Tekst uit een bestand lezen
- Procedure: Tekst naar een bestand schrijven
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 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.