Directory Sınıf

Tanım

Dizinler ve alt dizinler aracılığıyla oluşturma, taşıma ve numaralandırma için statik yöntemleri kullanıma sunar. Bu sınıf devralınamaz.

public ref class Directory abstract sealed
public ref class Directory sealed
public static class Directory
public sealed class Directory
[System.Runtime.InteropServices.ComVisible(true)]
public static class Directory
type Directory = class
[<System.Runtime.InteropServices.ComVisible(true)>]
type Directory = class
Public Class Directory
Public NotInheritable Class Directory
Devralma
Directory
Öznitelikler

Örnekler

Aşağıdaki örnekte, bir dizinden tüm metin dosyalarının nasıl alınıp yeni bir dizine taşınacakları gösterilmektedir. Dosyalar taşındıktan sonra artık özgün dizinde bulunmaz.

using System;
using System.IO;

partial class Example1
{
    static void TwoStringsExample()
    {
        string sourceDirectory = @"C:\current";
        string archiveDirectory = @"C:\archive";

        try
        {
            var txtFiles = Directory.EnumerateFiles(sourceDirectory, "*.txt");

            foreach (string currentFile in txtFiles)
            {
                string fileName = currentFile.Substring(sourceDirectory.Length + 1);
                Directory.Move(currentFile, Path.Combine(archiveDirectory, fileName));
            }
        }
        catch (Exception e)
        {
            Console.WriteLine(e.Message);
        }
    }
}
open System.IO

let sourceDirectory = @"C:\current"
let archiveDirectory = @"C:\archive"

try
    let txtFiles = Directory.EnumerateFiles(sourceDirectory, "*.txt")

    for currentFile in txtFiles do
        let fileName = currentFile.Substring(sourceDirectory.Length + 1)
        Directory.Move(currentFile, Path.Combine(archiveDirectory, fileName))

with e ->
    printfn $"{e.Message}"
Imports System.IO

Partial Class Example1
    Shared Sub TwoStringExample()

        Dim sourceDirectory As String = "C:\current"
        Dim archiveDirectory As String = "C:\archive"

        Try
            Dim txtFiles = Directory.EnumerateFiles(sourceDirectory, "*.txt")

            For Each currentFile As String In txtFiles
                Dim fileName = currentFile.Substring(sourceDirectory.Length + 1)
                Directory.Move(currentFile, Path.Combine(archiveDirectory, fileName))
            Next
        Catch e As Exception
            Console.WriteLine(e.Message)
        End Try

    End Sub
End Class

Aşağıdaki örnekte, bir dizinden metin dosyaları koleksiyonu almak için yönteminin nasıl kullanılacağı EnumerateFiles ve ardından "Örnek" içeren tüm satırları bulmak için sorguda bu koleksiyonun nasıl kullanılacağı gösterilmektedir.

using System;
using System.IO;
using System.Linq;

partial class Program
{
    static void EnumerateFilesExample()
    {
        string archiveDirectory = @"C:\archive";

        var files = from retrievedFile in Directory.EnumerateFiles(archiveDirectory, "*.txt", SearchOption.AllDirectories)
                    from line in File.ReadLines(retrievedFile)
                    where line.Contains("Example")
                    select new
                    {
                        File = retrievedFile,
                        Line = line
                    };

        foreach (var f in files)
        {
            Console.WriteLine("{0} contains {1}", f.File, f.Line);
        }

        Console.WriteLine("{0} lines found.", files.Count().ToString());
    }
}
open System.IO

let archiveDirectory = @"C:\archive"

let files = 
    query {
        for retrivedFile in Directory.EnumerateFiles(archiveDirectory, "*.txt", SearchOption.AllDirectories) do
        for line in File.ReadLines retrivedFile do
        where (line.Contains "file") 
        select 
            {| File = retrivedFile 
               Line = line |}
    }

for f in files do
    printfn $"{f.File} contains {f.Line}"
printfn "{Seq.length files} lines found."
Imports System.IO

Partial Class Program
    Shared Sub EnumerateFilesExample()

        Dim archiveDirectory As String = "C:\archive"

        Dim files = From retrievedFile In Directory.EnumerateFiles(archiveDirectory, "*.txt", SearchOption.AllDirectories)
                    From line In File.ReadLines(retrievedFile)
                    Where line.Contains("Example")
                    Select New With {.curFile = retrievedFile, .curLine = line}

        For Each f In files
            Console.WriteLine("{0} contains {1}", f.curFile, f.curLine)
        Next
        Console.WriteLine("{0} lines found.", files.Count.ToString())

    End Sub
End Class

Aşağıdaki örnekte, bir dizinin ve tüm dosyalarının yeni bir dizine nasıl taşınacakları gösterilmektedir. Özgün dizin taşındıktan sonra artık yok.

using System;
using System.IO;

partial class Program
{
    static void DirectoryMoveExample()
    {
        string sourceDirectory = @"C:\source";
        string destinationDirectory = @"C:\destination";

        try
        {
            Directory.Move(sourceDirectory, destinationDirectory);
        }
        catch (Exception e)
        {
            Console.WriteLine(e.Message);
        }
    }
}
open System.IO

let sourceDirectory = @"C:\source"
let destinationDirectory = @"C:\destination"

try
    Directory.Move(sourceDirectory, destinationDirectory)
with e ->
    printfn $"{e.Message}"
Imports System.IO

Partial Class Program
    Shared Sub DirectoryMoveExample()

        Dim sourceDirectory As String = "C:\source"
        Dim destinationDirectory As String = "C:\destination"

        Try
            Directory.Move(sourceDirectory, destinationDirectory)
        Catch e As Exception
            Console.WriteLine(e.Message)
        End Try

    End Sub
End Class

Açıklamalar

Directory Dizinleri kopyalama, taşıma, yeniden adlandırma, oluşturma ve silme gibi tipik işlemler için sınıfını kullanın.

sınıfının statik yöntemleri Directory , tüm yöntemler üzerinde güvenlik denetimleri gerçekleştirir. Bir nesneyi birkaç kez yeniden kullanacaksanız, bunun yerine karşılık gelen örnek yöntemini DirectoryInfo kullanmayı göz önünde bulundurun çünkü güvenlik denetimi her zaman gerekli olmayacaktır.

Dizinle ilgili yalnızca bir eylem gerçekleştiriyorsanız, karşılık gelen DirectoryInfo örnek yöntemi yerine statik Directory bir yöntem kullanmak daha verimli olabilir. Çoğu Directory yöntem, işlemekte olduğunuz dizinin yolunu gerektirir.

Note

Bir dize path parametresini kabul eden üyelerde, bu yol iyi biçimlendirilmiş olmalıdır veya bir özel durum oluşturulur. Örneğin, bir yol tam olarak nitelenmişse ancak boşlukla (" c:\temp") başlıyorsa, yol dizesi kırpılmaz, bu nedenle yol yanlış biçimlendirilmiş olarak kabul edilir ve bir özel durum oluşturulur. Ayrıca, bir yol veya yolların birleşimi iki kez tam olarak nitelenemez. Örneğin, "c:\temp c:\windows" da bir özel durum oluşturur. Yol dizesini kabul eden yöntemleri kullanırken yollarınızın iyi biçimlendirildiğinden emin olun. Daha fazla bilgi için bkz. Path.

Yolu kabul eden üyelerde, yol bir dosyaya veya dizine başvurabilir. Sunucu ve paylaşım adı için tam yol, göreli yol veya Evrensel Adlandırma Kuralı (UNC) yolu kullanabilirsiniz. Örneğin, aşağıdakilerin tümü kabul edilebilir yollardır:

  • 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. Ancak, uygulamanın mevcut dizinlere erişmek için doğru güvenliğe sahip olması gerekir.

Bir dizin ve tüm alt dizinleri için izinler talep etmek için, yol dizesini dizin ayırıcı karakteriyle sonlandırın. (Örneğin, "C:\Temp\" C:\Temp\ ve tüm alt dizinlerine erişim verir.) Yalnızca belirli bir dizin için izin talep etmek için yol dizesini noktayla sonlandırın. (Örneğin, "C:\Temp\." alt dizinlerine değil yalnızca C:\Temp\ erişimi verir.)

Parametre searchPattern kabul eden üyelerde, arama dizesi değişmez karakterlerin ve iki joker karakterin herhangi bir bileşimi olabilir: * ve ?. Bu parametre normal ifadeleri tanımıyor. Daha fazla bilgi için metoduna EnumerateDirectories(String, String) veya parametresini kullanan başka bir yönteme searchPattern bakın.

Yaygın G/Ç görevlerinin listesi için bkz. Ortak G/Ç Görevleri.

Yöntemler

Name Description
CreateDirectory(String, DirectorySecurity)

Belirtilen yolda, belirtilen Windows güvenliğini uygulayarak, henüz varolmadıkları sürece tüm dizinleri oluşturur.

CreateDirectory(String, UnixFileMode)

Belirtilen yolda belirtilen izinlere sahip olan tüm dizinleri ve alt dizinleri, henüz varolmadıkları sürece oluşturur.

CreateDirectory(String)

Önceden varolmadıkları sürece belirtilen yolda tüm dizinleri ve alt dizinleri oluşturur.

CreateSymbolicLink(String, String)

tarafından path tanımlanan ve öğesine işaret pathToTargeteden bir dizin sembolik bağlantısı oluşturur.

CreateTempSubdirectory(String)

Geçerli kullanıcının geçici dizininde benzersiz olarak adlandırılmış, boş bir dizin oluşturur.

Delete(String, Boolean)

Belirtilen dizini ve belirtilirse dizindeki tüm alt dizinleri ve dosyaları siler.

Delete(String)

Belirtilen yoldan boş bir dizini siler.

EnumerateDirectories(String, String, EnumerationOptions)

Belirtilen yoldaki bir arama deseni ile eşleşen dizin tam adlarının numaralandırılabilir bir koleksiyonunu döndürür ve isteğe bağlı olarak alt dizinleri arar.

EnumerateDirectories(String, String, SearchOption)

Belirtilen yoldaki bir arama deseni ile eşleşen dizin tam adlarının listelenebilir bir koleksiyonunu döndürür ve isteğe bağlı olarak alt dizinleri arar.

EnumerateDirectories(String, String)

Belirtilen yoldaki bir arama deseni ile eşleşen dizin tam adlarından oluşan numaralandırılabilir bir koleksiyon döndürür.

EnumerateDirectories(String)

Belirtilen yolda dizin tam adlarından oluşan numaralandırılabilir bir koleksiyon döndürür.

EnumerateFiles(String, String, EnumerationOptions)

Belirtilen bir yoldaki arama deseni ve numaralandırma seçenekleriyle eşleşen ve isteğe bağlı olarak alt dizinleri arayan tam dosya adlarından oluşan numaralandırılabilir bir koleksiyon döndürür.

EnumerateFiles(String, String, SearchOption)

Belirtilen yoldaki bir arama deseni ile eşleşen ve isteğe bağlı olarak alt dizinleri arayan tam dosya adlarından oluşan numaralanabilir bir koleksiyon döndürür.

EnumerateFiles(String, String)

Belirtilen yoldaki bir arama deseni ile eşleşen tam dosya adlarından oluşan numaralandırılabilir bir koleksiyon döndürür.

EnumerateFiles(String)

Belirtilen bir yolda tam dosya adlarından oluşan numaralandırılabilir bir koleksiyon döndürür.

EnumerateFileSystemEntries(String, String, EnumerationOptions)

Belirtilen yoldaki arama deseni ve numaralandırma seçenekleriyle eşleşen dosya adları ve dizin adlarından oluşan numaralandırılabilir bir koleksiyon döndürür.

EnumerateFileSystemEntries(String, String, SearchOption)

Belirtilen yoldaki bir arama deseni ile eşleşen ve isteğe bağlı olarak alt dizinleri arayan, numaralandırılabilir bir dosya adları ve dizin adları koleksiyonu döndürür.

EnumerateFileSystemEntries(String, String)

Belirtilen yoldaki bir arama deseni ile eşleşen dosya adları ve dizin adlarından oluşan numaralandırılabilir bir koleksiyon döndürür.

EnumerateFileSystemEntries(String)

Belirtilen yolda dosya adlarının ve dizin adlarının listelenebilir bir koleksiyonunu döndürür.

Exists(String)

Verilen yolun diskte var olan bir dizine başvurup başvurmayacağını belirler.

GetAccessControl(String, AccessControlSections)

Belirtilen dizin DirectorySecurity için belirtilen erişim denetimi listesi (ACL) girdilerini kapsülleyen bir nesne alır.

GetAccessControl(String)

Belirtilen dizin DirectorySecurity için erişim denetimi listesi (ACL) girdilerini kapsülleyen bir nesne alır.

GetCreationTime(String)

Dizinin oluşturma tarihini ve saatini alır.

GetCreationTimeUtc(String)

Bir dizinin Eşgüdümlü Evrensel Saat (UTC) biçiminde oluşturma tarihini ve saatini alır.

GetCurrentDirectory()

Uygulamanın geçerli çalışma dizinini alır.

GetDirectories(String, String, EnumerationOptions)

Belirtilen dizindeki belirtilen arama düzeni ve numaralandırma seçenekleriyle eşleşen alt dizinlerin (yolları dahil) adlarını döndürür.

GetDirectories(String, String, SearchOption)

Belirtilen dizindeki belirtilen arama deseni ile eşleşen alt dizinlerin (yolları dahil) adlarını döndürür ve isteğe bağlı olarak alt dizinleri arar.

GetDirectories(String, String)

Belirtilen dizinde belirtilen arama deseni ile eşleşen alt dizinlerin (yolları dahil) adlarını döndürür.

GetDirectories(String)

Belirtilen dizindeki alt dizinlerin (yolları dahil) adlarını döndürür.

GetDirectoryRoot(String)

Belirtilen yol için birim bilgilerini, kök bilgilerini veya ikisini birden döndürür.

GetFiles(String, String, EnumerationOptions)

Belirtilen dizindeki belirtilen arama düzeni ve numaralandırma seçenekleriyle eşleşen dosyaların adlarını (yolları dahil) döndürür.

GetFiles(String, String, SearchOption)

Alt dizinlerde arama yapılıp yapılmayacağını belirlemek için bir değer kullanarak, belirtilen dizindeki belirtilen arama düzeniyle eşleşen dosyaların adlarını (yolları dahil) döndürür.

GetFiles(String, String)

Belirtilen dizinde belirtilen arama düzeniyle eşleşen dosyaların adlarını (yolları dahil) döndürür.

GetFiles(String)

Belirtilen dizindeki dosyaların adlarını (yolları dahil) döndürür.

GetFileSystemEntries(String, String, EnumerationOptions)

Belirtilen yoldaki bir arama deseni ve numaralandırma seçenekleriyle eşleşen bir dosya adları ve dizin adları dizisi döndürür.

GetFileSystemEntries(String, String, SearchOption)

Belirtilen yoldaki bir arama deseni ile eşleşen tüm dosya adlarından ve dizin adlarından oluşan bir dizi döndürür ve isteğe bağlı olarak alt dizinleri arar.

GetFileSystemEntries(String, String)

Belirtilen yoldaki bir arama deseni ile eşleşen dosya adları ve dizin adları dizisi döndürür.

GetFileSystemEntries(String)

Belirtilen bir yoldaki tüm dosyaların ve alt dizinlerin adlarını döndürür.

GetLastAccessTime(String)

Belirtilen dosya veya dizine son erişilen tarihi ve saati döndürür.

GetLastAccessTimeUtc(String)

Belirtilen dosya veya dizine en son erişildiği tarih ve saati Eşgüdümlü Evrensel Saat (UTC) biçiminde döndürür.

GetLastWriteTime(String)

Belirtilen dosya veya dizinin son yazıldığı tarih ve saati döndürür.

GetLastWriteTimeUtc(String)

Belirtilen dosya veya dizinin son yazıldığı tarih ve saati Eşgüdümlü Evrensel Saat (UTC) biçiminde döndürür.

GetLogicalDrives()

Bu bilgisayardaki mantıksal sürücülerin adlarını alır.

GetParent(String)

Hem mutlak hem de göreli yollar dahil olmak üzere belirtilen yolun üst dizinini alır.

Move(String, String)

Bir dosyayı veya dizini ve içeriğini yeni bir konuma taşır.

ResolveLinkTarget(String, Boolean)

Belirtilen dizin bağlantısının hedefini alır.

SetAccessControl(String, DirectorySecurity)

Bir DirectorySecurity nesne tarafından açıklanan erişim denetimi listesi (ACL) girdilerini belirtilen dizine uygular.

SetCreationTime(String, DateTime)

Belirtilen dosya veya dizin için oluşturma tarihini ve saatini ayarlar.

SetCreationTimeUtc(String, DateTime)

Belirtilen dosya veya dizin için oluşturma tarihini ve saatini Eşgüdümlü Evrensel Saat (UTC) biçiminde ayarlar.

SetCurrentDirectory(String)

Uygulamanın geçerli çalışma dizinini belirtilen dizine ayarlar.

SetLastAccessTime(String, DateTime)

Belirtilen dosya veya dizine son erişilen tarihi ve saati ayarlar.

SetLastAccessTimeUtc(String, DateTime)

Belirtilen dosya veya dizine en son erişildiği tarih ve saati Eşgüdümlü Evrensel Saat (UTC) biçiminde ayarlar.

SetLastWriteTime(String, DateTime)

Dizinin son yazıldığı tarih ve saati ayarlar.

SetLastWriteTimeUtc(String, DateTime)

Bir dizinin son yazıldığı tarih ve saati Eşgüdümlü Evrensel Saat (UTC) biçiminde ayarlar.

Şunlara uygulanır

Ayrıca bkz.