DirectoryInfo Sınıf

Tanım

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
DirectoryInfo
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 . dahil olmak üzere dosya adının uzantı bölümünü veya uzantı yoksa boş bir dizeyi alır.

(Devralındığı yer: FileSystemInfo)
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 null bu FileSystemInfo örnek bir bağlantıyı temsil etmiyorsa alır.

(Devralındığı yer: FileSystemInfo)
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 pathToTargetöğesine işaret eden sembolik bir bağlantı FullName oluşturur.

(Devralındığı yer: FileSystemInfo)
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.

Şunlara uygulanır

Ayrıca bkz.