DirectoryInfo Sınıf
Tanım
Önemli
Bazı bilgiler ürünün ön sürümüyle ilgilidir ve sürüm öncesinde önemli değişiklikler yapılmış olabilir. Burada verilen bilgilerle ilgili olarak Microsoft açık veya zımni hiçbir garanti vermez.
Dizinleri ve alt dizinleri oluşturmak, taşımak ve numaralandırmak için örnek yöntemlerini kullanıma sunar. Bu sınıf devralınamaz.
public ref class DirectoryInfo sealed : System::IO::FileSystemInfo
public sealed class DirectoryInfo : System.IO.FileSystemInfo
[System.Serializable]
public sealed class DirectoryInfo : System.IO.FileSystemInfo
[System.Serializable]
[System.Runtime.InteropServices.ComVisible(true)]
public sealed class DirectoryInfo : System.IO.FileSystemInfo
type DirectoryInfo = class
inherit FileSystemInfo
[<System.Serializable>]
type DirectoryInfo = class
inherit FileSystemInfo
[<System.Serializable>]
[<System.Runtime.InteropServices.ComVisible(true)>]
type DirectoryInfo = class
inherit FileSystemInfo
Public NotInheritable Class DirectoryInfo
Inherits FileSystemInfo
- Devralma
- Devralma
- Öznitelikler
Örnekler
Aşağıdaki örnekte sınıfın bazı ana üyeleri gösterilmektedir DirectoryInfo
.
using namespace System;
using namespace System::IO;
int main()
{
// Specify the directories you want to manipulate.
DirectoryInfo^ di = gcnew DirectoryInfo( "c:\\MyDir" );
try
{
// Determine whether the directory exists.
if ( di->Exists )
{
// Indicate that the directory already exists.
Console::WriteLine( "That path exists already." );
return 0;
}
// Try to create the directory.
di->Create();
Console::WriteLine( "The directory was created successfully." );
// 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 directories you want to manipulate.
DirectoryInfo di = new DirectoryInfo(@"c:\MyDir");
try
{
// Determine whether the directory exists.
if (di.Exists)
{
// Indicate that the directory already exists.
Console.WriteLine("That path exists already.");
return;
}
// Try to create the directory.
di.Create();
Console.WriteLine("The directory was created successfully.");
// 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 directories you want to manipulate.
let di = DirectoryInfo @"c:\MyDir"
try
// Determine whether the directory exists.
if di.Exists then
// Indicate that the directory already exists.
printfn "That path exists already."
else
// Try to create the directory.
di.Create()
printfn "The directory was created successfully."
// 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 directories you want to manipulate.
Dim di As DirectoryInfo = New DirectoryInfo("c:\MyDir")
Try
' Determine whether the directory exists.
If di.Exists Then
' Indicate that it already exists.
Console.WriteLine("That path exists already.")
Return
End If
' Try to create the directory.
di.Create()
Console.WriteLine("The directory was created successfully.")
' 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
Aşağıdaki örnekte, bir dizinin ve içeriğinin nasıl kopyalanması gösterilmektedir.
using System;
using System.IO;
class CopyDir
{
public static void CopyAll(DirectoryInfo source, DirectoryInfo target)
{
if (source.FullName.ToLower() == target.FullName.ToLower())
{
return;
}
// Check if the target directory exists, if not, create it.
if (Directory.Exists(target.FullName) == false)
{
Directory.CreateDirectory(target.FullName);
}
// Copy each file into it's new directory.
foreach (FileInfo fi in source.GetFiles())
{
Console.WriteLine(@"Copying {0}\{1}", target.FullName, fi.Name);
fi.CopyTo(Path.Combine(target.ToString(), fi.Name), true);
}
// Copy each subdirectory using recursion.
foreach (DirectoryInfo diSourceSubDir in source.GetDirectories())
{
DirectoryInfo nextTargetSubDir =
target.CreateSubdirectory(diSourceSubDir.Name);
CopyAll(diSourceSubDir, nextTargetSubDir);
}
}
public static void Main()
{
string sourceDirectory = @"c:\sourceDirectory";
string targetDirectory = @"c:\targetDirectory";
DirectoryInfo diSource = new DirectoryInfo(sourceDirectory);
DirectoryInfo diTarget = new DirectoryInfo(targetDirectory);
CopyAll(diSource, diTarget);
}
// Output will vary based on the contents of the source directory.
}
open System.IO
let rec copyAll (source: DirectoryInfo) (target: DirectoryInfo) =
if source.FullName.ToLower() <> target.FullName.ToLower() then
// Check if the target directory exists, if not, create it.
if not (Directory.Exists target.FullName) then
Directory.CreateDirectory target.FullName |> ignore
// Copy each file into it's new directory.
for fi in source.GetFiles() do
printfn $@"Copying {target.FullName}\{fi.Name}"
fi.CopyTo(Path.Combine(string target, fi.Name), true) |> ignore
// Copy each subdirectory using recursion.
for diSourceSubDir in source.GetDirectories() do
target.CreateSubdirectory diSourceSubDir.Name
|> copyAll diSourceSubDir
let sourceDirectory = @"c:\sourceDirectory"
let targetDirectory = @"c:\targetDirectory"
let diSource = DirectoryInfo sourceDirectory
let diTarget = DirectoryInfo targetDirectory
copyAll diSource diTarget
// Output will vary based on the contents of the source directory.
Imports System.IO
Class CopyDir
Shared Sub CopyAll(ByVal source As DirectoryInfo, ByVal target As DirectoryInfo)
If (source.FullName.ToLower() = target.FullName.ToLower()) Then
Return
End If
' Check if the target directory exists, if not, create it.
If Directory.Exists(target.FullName) = False Then
Directory.CreateDirectory(target.FullName)
End If
' Copy each file into it's new directory.
For Each fi As FileInfo In source.GetFiles()
Console.WriteLine("Copying {0}\{1}", target.FullName, fi.Name)
fi.CopyTo(Path.Combine(target.ToString(), fi.Name), True)
Next
' Copy each subdirectory using recursion.
For Each diSourceSubDir As DirectoryInfo In source.GetDirectories()
Dim nextTargetSubDir As DirectoryInfo = target.CreateSubdirectory(diSourceSubDir.Name)
CopyAll(diSourceSubDir, nextTargetSubDir)
Next
End Sub
Shared Sub Main()
Dim sourceDirectory As String = "c:\\sourceDirectory"
Dim targetDirectory As String = "c:\\targetDirectory"
Dim diSource As DirectoryInfo = New DirectoryInfo(sourceDirectory)
Dim diTarget As DirectoryInfo = New DirectoryInfo(targetDirectory)
CopyAll(diSource, diTarget)
End Sub
' Output will vary based on the contents of the source directory.
End Class
Açıklamalar
sınıfını DirectoryInfo , dizinleri kopyalama, taşıma, yeniden adlandırma, oluşturma ve silme gibi tipik işlemler için kullanın.
Bir nesneyi birkaç kez yeniden kullanacaksanız, bir güvenlik denetimi her zaman gerekmeyeceğinden sınıfının karşılık gelen statik yöntemleri Directory yerine örnek yöntemini DirectoryInfo kullanmayı göz önünde bulundurun.
Not
Bir yolu giriş dizesi olarak kabul eden üyelerde, bu yol iyi biçimlendirilmiş olmalıdır veya bir özel durum oluşturulur. Örneğin, bir yol tam nitelikliyse ancak bir boşlukla başlıyorsa, yol sınıfın yöntemlerinde kırpılmaz. Bu nedenle, yol yanlış biçimlendirilmiş ve bir özel durum oluşturulur. Benzer şekilde, bir yol veya yol birleşimi tam olarak iki kez nitelenemez. Örneğin, "c:\temp c:\windows" da çoğu durumda bir özel durum oluşturur. Yol dizesini kabul eden yöntemleri kullanırken yollarınızın iyi biçimlendirildiğinden emin olun.
Yolu kabul eden üyelerde yol bir dosyaya veya yalnızca bir dizine başvurabilir. Belirtilen yol, bir sunucu ve paylaşım adı için göreli yola veya Evrensel Adlandırma Kuralı (UNC) yoluna da başvurabilir. Örneğin, aşağıdakilerin tümü kabul edilebilir yollardır:
C# dilinde "c:\\MyDir\\MyFile.txt", Visual Basic'te "c:\MyDir\MyFile.txt".
C# dilinde "c:\\MyDir" veya Visual Basic'te "c:\MyDir".
C# dilinde "MyDir\\MySubdir" veya Visual Basic'te "MyDir\MySubDir".
C# dilinde "\\\\MyServer\\MyShare" veya Visual Basic'te "\\MyServer\MyShare".
Varsayılan olarak, tüm kullanıcılara yeni dizinlere tam okuma/yazma erişimi verilir.
Yaygın G/Ç görevlerinin listesi için bkz. Ortak G/Ç Görevleri.
Oluşturucular
DirectoryInfo(String) |
Belirtilen yolda sınıfının yeni bir örneğini DirectoryInfo başlatır. |
Alanlar
FullPath |
Dizinin veya dosyanın tam yolunu temsil eder. (Devralındığı yer: FileSystemInfo) |
OriginalPath |
Göreli veya mutlak olsun, başlangıçta kullanıcı tarafından belirtilen yol. (Devralındığı yer: FileSystemInfo) |
Özellikler
Attributes |
Geçerli dosya veya dizin için öznitelikleri alır veya ayarlar. (Devralındığı yer: FileSystemInfo) |
CreationTime |
Geçerli dosya veya dizinin oluşturma zamanını alır veya ayarlar. (Devralındığı yer: FileSystemInfo) |
CreationTimeUtc |
Geçerli dosya veya dizinin oluşturma zamanını eşgüdümlü evrensel saat (UTC) olarak alır veya ayarlar. (Devralındığı yer: FileSystemInfo) |
Exists |
Dizinin var olup olmadığını belirten bir değer alır. |
Extension |
Dosya adının tamamı olsa bile baştaki nokta |
FullName |
Dizinin tam yolunu alır. |
FullName |
Dizinin veya dosyanın tam yolunu alır. (Devralındığı yer: FileSystemInfo) |
LastAccessTime |
Geçerli dosya veya dizine en son erişildiği zamanı alır veya ayarlar. (Devralındığı yer: FileSystemInfo) |
LastAccessTimeUtc |
Geçerli dosya veya dizine en son erişilen saati eşgüdümlü evrensel saat (UTC) olarak alır veya ayarlar. (Devralındığı yer: FileSystemInfo) |
LastWriteTime |
Geçerli dosya veya dizinin en son yazıldığı zamanı alır veya ayarlar. (Devralındığı yer: FileSystemInfo) |
LastWriteTimeUtc |
Geçerli dosya veya dizinin en son yazıldığı saati eşgüdümlü evrensel saat (UTC) olarak alır veya ayarlar. (Devralındığı yer: FileSystemInfo) |
LinkTarget |
içinde FullNamebulunan bağlantının hedef yolunu veya |
Name |
Bu DirectoryInfo örneğin adını alır. |
Parent |
Belirtilen alt dizinin üst dizinini alır. |
Root |
Dizinin kök bölümünü alır. |
UnixFileMode |
Geçerli dosya veya dizin için Unix dosya modunu alır veya ayarlar. (Devralındığı yer: FileSystemInfo) |
Yöntemler
Create() |
Bir dizin oluşturur. |
Create(DirectorySecurity) |
Nesne kullanarak bir DirectorySecurity dizin oluşturur. |
CreateAsSymbolicLink(String) |
Belirtilen |
CreateObjRef(Type) |
Uzak bir nesneyle iletişim kurmak için kullanılan bir ara sunucu oluşturmak için gereken tüm ilgili bilgileri içeren bir nesne oluşturur. (Devralındığı yer: MarshalByRefObject) |
CreateSubdirectory(String) |
Belirtilen yolda bir alt dizin veya alt dizin oluşturur. Belirtilen yol sınıfın DirectoryInfo bu örneğine göre olabilir. |
CreateSubdirectory(String, DirectorySecurity) |
Belirtilen yolda belirtilen güvenlikle bir alt dizin veya alt dizin oluşturur. Belirtilen yol sınıfın DirectoryInfo bu örneğine göre olabilir. |
Delete() |
Boşsa bunu DirectoryInfo siler. |
Delete(Boolean) |
Alt dizinlerin ve dosyaların silinip silinmeyeceğini belirten bu örneğini DirectoryInfosiler. |
EnumerateDirectories() |
Geçerli dizindeki dizin bilgilerinin numaralandırılabilir bir koleksiyonunu döndürür. |
EnumerateDirectories(String) |
Belirtilen arama deseni ile eşleşen dizin bilgilerinin numaralandırılabilir bir koleksiyonunu döndürür. |
EnumerateDirectories(String, EnumerationOptions) |
Belirtilen arama deseni ve numaralandırma seçenekleriyle eşleşen dizin bilgilerinin numaralandırılabilir bir koleksiyonunu döndürür. |
EnumerateDirectories(String, SearchOption) |
Belirtilen arama deseni ve arama alt dizini seçeneğiyle eşleşen numaralandırılabilir bir dizin bilgileri koleksiyonu döndürür. |
EnumerateFiles() |
Geçerli dizindeki numaralandırılabilir dosya bilgileri koleksiyonunu döndürür. |
EnumerateFiles(String) |
Arama deseni ile eşleşen numaralandırılabilir bir dosya bilgileri koleksiyonu döndürür. |
EnumerateFiles(String, EnumerationOptions) |
Belirtilen arama deseni ve numaralandırma seçenekleriyle eşleşen numaralandırılabilir bir dosya bilgileri koleksiyonu döndürür. |
EnumerateFiles(String, SearchOption) |
Belirtilen arama deseni ve arama alt dizini seçeneğiyle eşleşen numaralandırılabilir bir dosya bilgileri koleksiyonu döndürür. |
EnumerateFileSystemInfos() |
Geçerli dizindeki dosya sistemi bilgilerinin numaralandırılabilir bir koleksiyonunu döndürür. |
EnumerateFileSystemInfos(String) |
Belirtilen arama deseni ile eşleşen dosya sistemi bilgilerinden oluşan numaralandırılabilir bir koleksiyon döndürür. |
EnumerateFileSystemInfos(String, EnumerationOptions) |
Belirtilen arama deseni ve numaralandırma seçenekleriyle eşleşen dosya sistemi bilgilerinden oluşan numaralandırılabilir bir koleksiyon döndürür. |
EnumerateFileSystemInfos(String, SearchOption) |
Belirtilen arama deseni ve arama alt dizini seçeneğiyle eşleşen numaralandırılabilir bir dosya sistemi bilgileri koleksiyonu döndürür. |
Equals(Object) |
Belirtilen nesnenin geçerli nesneye eşit olup olmadığını belirler. (Devralındığı yer: Object) |
GetAccessControl() |
DirectorySecurity Geçerli DirectoryInfo nesne tarafından açıklanan dizin için erişim denetimi listesi (ACL) girdilerini kapsülleyen bir nesne alır. |
GetAccessControl(AccessControlSections) |
Geçerli DirectoryInfo nesne tarafından açıklanan dizin için belirtilen türdeki erişim denetimi listesi (ACL) girdilerini kapsülleyen bir DirectorySecurity nesne alır. |
GetDirectories() |
Geçerli dizinin alt dizinlerini döndürür. |
GetDirectories(String) |
Verilen arama ölçütleriyle eşleşen geçerli DirectoryInfo dizin dizisini döndürür. |
GetDirectories(String, EnumerationOptions) |
Belirtilen arama deseni ve numaralandırma seçenekleriyle eşleşen geçerli DirectoryInfo dizin dizisini döndürür. |
GetDirectories(String, SearchOption) |
Verilen arama ölçütleriyle eşleşen ve alt dizinlerde arama yapılıp yapılmayacağını belirlemek için bir değer kullanan geçerli DirectoryInfo dizin dizisini döndürür. |
GetFiles() |
Geçerli dizinden bir dosya listesi döndürür. |
GetFiles(String) |
Verilen arama deseni ile eşleşen geçerli dizinden bir dosya listesi döndürür. |
GetFiles(String, EnumerationOptions) |
Belirtilen arama deseni ve numaralandırma seçenekleriyle eşleşen geçerli dizinden bir dosya listesi döndürür. |
GetFiles(String, SearchOption) |
Geçerli dizinden verilen arama düzeniyle eşleşen ve alt dizinlerde arama yapılıp yapılmayacağını belirlemek için bir değer kullanan bir dosya listesi döndürür. |
GetFileSystemInfos() |
Bir dizindeki tüm dosyaları ve alt dizinleri temsil eden kesin olarak belirlenmiş FileSystemInfo bir giriş dizisi döndürür. |
GetFileSystemInfos(String) |
Belirtilen arama ölçütleriyle eşleşen dosyaları ve alt dizinleri temsil eden kesin olarak belirlenmiş FileSystemInfo nesneler dizisini alır. |
GetFileSystemInfos(String, EnumerationOptions) |
Belirtilen arama deseni ve numaralandırma seçenekleriyle eşleşen dosyaları ve alt dizinleri temsil eden kesin olarak belirlenmiş FileSystemInfo bir nesne dizisi alır. |
GetFileSystemInfos(String, SearchOption) |
Belirtilen arama ölçütleriyle eşleşen dosyaları ve alt dizinleri temsil eden bir nesne dizisi FileSystemInfo alır. |
GetHashCode() |
Varsayılan karma işlevi işlevi görür. (Devralındığı yer: Object) |
GetLifetimeService() |
Geçersiz.
Bu örnek için yaşam süresi ilkesini denetleen geçerli yaşam süresi hizmet nesnesini alır. (Devralındığı yer: MarshalByRefObject) |
GetObjectData(SerializationInfo, StreamingContext) |
Geçersiz.
SerializationInfo Nesneyi dosya adı ve ek özel durum bilgileriyle ayarlar. (Devralındığı yer: FileSystemInfo) |
GetType() |
Type Geçerli örneğini alır. (Devralındığı yer: Object) |
InitializeLifetimeService() |
Geçersiz.
Bu örneğin yaşam süresi ilkesini denetlemek için bir yaşam süresi hizmet nesnesi alır. (Devralındığı yer: MarshalByRefObject) |
MemberwiseClone() |
Geçerli Objectöğesinin sığ bir kopyasını oluşturur. (Devralındığı yer: Object) |
MemberwiseClone(Boolean) |
Geçerli MarshalByRefObject nesnenin sığ bir kopyasını oluşturur. (Devralındığı yer: MarshalByRefObject) |
MoveTo(String) |
Örneği DirectoryInfo ve içeriğini yeni bir yola taşır. |
Refresh() |
Nesnenin durumunu yeniler. (Devralındığı yer: FileSystemInfo) |
ResolveLinkTarget(Boolean) |
Belirtilen bağlantının hedefini alır. (Devralındığı yer: FileSystemInfo) |
SetAccessControl(DirectorySecurity) |
Bir nesne tarafından DirectorySecurity açıklanan erişim denetim listesi (ACL) girdilerini geçerli DirectoryInfo nesne tarafından açıklanan dizine uygular. |
ToString() |
Oluşturucuya DirectoryInfo geçirilen özgün yolu döndürür. FullName Bu yöntem yerine tam yol veya dosya/dizin adı için veya Name özelliklerini kullanın. |
ToString() |
Özgün yolu döndürür. FullName Tam yol veya dosya/dizin adı için veya Name özelliklerini kullanın. (Devralındığı yer: FileSystemInfo) |
Uzantı Metotları
Create(DirectoryInfo, DirectorySecurity) |
Belirtilen dizin güvenliğiyle oluşturulduğundan emin olarak yeni bir dizin oluşturur. Dizin zaten varsa hiçbir işlem yapılmaz. |
GetAccessControl(DirectoryInfo) |
Dizinin güvenlik bilgilerini döndürür. |
GetAccessControl(DirectoryInfo, AccessControlSections) |
Dizinin güvenlik bilgilerini döndürür. |
SetAccessControl(DirectoryInfo, DirectorySecurity) |
Var olan bir dizinin güvenlik özniteliklerini değiştirir. |