Directory.CreateDirectory Metode
Definisi
Penting
Beberapa informasi terkait produk prarilis yang dapat diubah secara signifikan sebelum dirilis. Microsoft tidak memberikan jaminan, tersirat maupun tersurat, sehubungan dengan informasi yang diberikan di sini.
Membuat semua direktori dalam jalur tertentu.
Overload
CreateDirectory(String) |
Membuat semua direktori dan subdirektori di jalur yang ditentukan kecuali sudah ada. |
CreateDirectory(String, UnixFileMode) |
Membuat semua direktori dan subdirektori di jalur yang ditentukan dengan izin yang ditentukan kecuali sudah ada. |
CreateDirectory(String, DirectorySecurity) |
Membuat semua direktori di jalur yang ditentukan, kecuali jika sudah ada, menerapkan keamanan Windows yang ditentukan. |
CreateDirectory(String)
- Sumber:
- Directory.cs
- Sumber:
- Directory.cs
- Sumber:
- Directory.cs
Membuat semua direktori dan subdirektori di jalur yang ditentukan kecuali sudah ada.
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
Parameter
- path
- String
Direktori yang akan dibuat.
Mengembalikan
Objek yang mewakili direktori pada jalur yang ditentukan. Objek ini dikembalikan terlepas dari apakah direktori pada jalur yang ditentukan sudah ada.
Pengecualian
Pemanggil tidak memiliki izin yang diperlukan.
versi .NET Framework dan .NET Core yang lebih lama dari 2.1: path
adalah string panjang nol, hanya berisi spasi kosong, atau berisi satu atau beberapa karakter yang tidak valid. Anda bisa mengkueri karakter yang tidak valid dengan menggunakan metode .GetInvalidPathChars()
-atau-
path
diawali dengan, atau berisi, hanya karakter titik dua (:).
path
adalah null
.
Jalur yang ditentukan, nama file, atau keduanya melebihi panjang maksimum yang ditentukan sistem.
Jalur yang ditentukan tidak valid (misalnya, ada di drive yang tidak dipetakan).
path
berisi karakter titik dua (:) yang bukan bagian dari label drive ("C:\").
Contoh
Contoh berikut membuat dan menghapus direktori yang ditentukan:
using namespace System;
using namespace System::IO;
int main()
{
// Specify the directory you want to manipulate.
String^ path = "c:\\MyDir";
try
{
// Determine whether the directory exists.
if ( Directory::Exists( path ) )
{
Console::WriteLine( "That path exists already." );
return 0;
}
// Try to create the directory.
DirectoryInfo^ di = 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 ( Exception^ e )
{
Console::WriteLine( "The process failed: {0}", e );
}
}
using System;
using System.IO;
class Test
{
public static void Main()
{
// Specify the directory you want to manipulate.
string path = @"c:\MyDir";
try
{
// Determine whether the directory exists.
if (Directory.Exists(path))
{
Console.WriteLine("That path exists already.");
return;
}
// Try to create the directory.
DirectoryInfo di = 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 (Exception e)
{
Console.WriteLine("The process failed: {0}", e.ToString());
}
finally {}
}
}
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
Untuk membuat direktori C:\Users\User1\Public\Html saat direktori saat ini adalah C:\Users\User1, gunakan salah satu panggilan berikut untuk memastikan bahwa backslash ditafsirkan dengan benar:
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");
Directory::CreateDirectory("Public\\Html");
Directory::CreateDirectory("\\Users\\User1\\Public\\Html");
Directory::CreateDirectory("c:\\Users\\User1\\Public\\Html");
Keterangan
Setiap dan semua direktori yang ditentukan di path
dibuat, kecuali sudah ada atau kecuali beberapa bagian path
tidak valid. Jika direktori sudah ada, metode ini tidak membuat direktori baru, tetapi mengembalikan DirectoryInfo objek untuk direktori yang ada.
Parameter path
menentukan jalur direktori, bukan jalur file.
Spasi berikutnya dihapus dari akhir path
parameter sebelum membuat direktori.
Anda dapat membuat direktori di komputer jarak jauh, pada berbagi yang dapat Anda akses tulis. Jalur UNC didukung; misalnya, Anda dapat menentukan hal berikut untuk path
: \\2009\Archives\December
di Visual Basic, dan \\\\2009\\Archives\\December
di C#.
Membuat direktori hanya dengan karakter titik dua (:) tidak didukung, dan akan menyebabkan NotSupportedException
dilemparkan.
Pada sistem Unix, gunakan garis miring (/) sebagai pemisah jalur.
Lihat juga
Berlaku untuk
CreateDirectory(String, UnixFileMode)
- Sumber:
- Directory.cs
- Sumber:
- Directory.cs
- Sumber:
- Directory.cs
Membuat semua direktori dan subdirektori di jalur yang ditentukan dengan izin yang ditentukan kecuali sudah ada.
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
Parameter
- path
- String
Direktori yang akan dibuat.
- unixCreateMode
- UnixFileMode
Kombinasi bitwise dari nilai enumerasi yang menentukan mode file Unix yang digunakan untuk membuat direktori.
Mengembalikan
Objek yang mewakili direktori pada jalur yang ditentukan. Objek ini dikembalikan terlepas dari apakah direktori pada jalur yang ditentukan sudah ada.
- Atribut
Pengecualian
path
adalah string panjang nol, atau berisi satu atau beberapa karakter yang tidak valid. Anda bisa mengkueri karakter yang tidak valid dengan menggunakan metode .GetInvalidPathChars()
path
adalah null
.
Mode file tidak valid.
Pemanggil tidak memiliki izin yang diperlukan.
Jalur yang ditentukan melebihi panjang maksimum yang ditentukan sistem.
path
adalah file .
Komponen bukan path
direktori.
Berlaku untuk
CreateDirectory(String, DirectorySecurity)
Membuat semua direktori di jalur yang ditentukan, kecuali jika sudah ada, menerapkan keamanan Windows yang ditentukan.
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
Parameter
- path
- String
Direktori yang akan dibuat.
- directorySecurity
- DirectorySecurity
Kontrol akses yang akan diterapkan ke direktori.
Mengembalikan
Objek yang mewakili direktori pada jalur yang ditentukan. Objek ini dikembalikan terlepas dari apakah direktori pada jalur yang ditentukan sudah ada.
Pengecualian
Pemanggil tidak memiliki izin yang diperlukan.
versi .NET Framework dan .NET Core yang lebih lama dari 2.1: path
adalah string panjang nol, hanya berisi spasi kosong, atau berisi satu atau beberapa karakter yang tidak valid. Anda bisa mengkueri karakter yang tidak valid dengan menggunakan metode .GetInvalidPathChars()
-atau-
path
diawali dengan, atau berisi, hanya karakter titik dua (:).
path
adalah null
.
Jalur yang ditentukan, nama file, atau keduanya melebihi panjang maksimum yang ditentukan sistem.
Jalur yang ditentukan tidak valid (misalnya, ada di drive yang tidak dipetakan).
path
berisi karakter titik dua (:) yang bukan bagian dari label drive ("C:\").
Contoh
Contoh berikut membuat direktori baru dengan aturan akses untuk dua akun pengguna.
using System;
using System.IO;
using System.Security.AccessControl;
namespace ConsoleApplication
{
class Program
{
static void Main(string[] args)
{
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
Module Module1
Sub Main()
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 Module
Keterangan
Gunakan metode ini kelebihan beban untuk membuat direktori dengan kontrol akses, sehingga tidak ada kemungkinan direktori dapat diakses sebelum keamanan diterapkan.
Setiap dan semua direktori yang ditentukan dalam path
parameter dibuat, kecuali sudah ada atau kecuali beberapa bagian path
tidak valid. Parameter path
menentukan jalur direktori, bukan jalur file. Jika direktori sudah ada, metode ini tidak membuat direktori baru, tetapi mengembalikan DirectoryInfo objek untuk direktori yang ada.
Spasi berikutnya dihapus dari akhir path
parameter sebelum membuat direktori.
Anda dapat membuat direktori di komputer jarak jauh, pada berbagi yang dapat Anda akses tulis. Jalur UNC didukung; misalnya, Anda dapat menentukan hal berikut untuk path
: \\2009\Archives\December
di Visual Basic, dan \\\\2009\\Archives\\December
di C#.
Membuat direktori hanya dengan karakter titik dua (:) tidak didukung dan menyebabkan dilemparkan NotSupportedException
.