Directory Sınıf

Tanım

Dizinleri ve alt dizinleri oluşturmak, taşımak ve numaralandırmak 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 nasıl taşınacakları gösterilmektedir. Dosyalar taşındıktan sonra artık özgün dizinde bulunmaz.

using System;
using System.IO;

namespace ConsoleApplication
{
    class Program
    {
        static void Main(string[] args)
        {
            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

Module Module1

    Sub Main()
        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 Module

Aşağıdaki örnekte, bir dizinden metin dosyaları koleksiyonunu 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;

namespace ConsoleApplication
{
    class Program
    {
        static void Main(string[] args)
        {
            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

Module Module1

    Sub Main()
        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 Module

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;

namespace ConsoleApplication
{
    class Program
    {
        static void Main(string[] args)
        {
            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

Module Module1

    Sub Main()
        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 Module

Açıklamalar

sınıfını Directory , dizinleri kopyalama, taşıma, yeniden adlandırma, oluşturma ve silme gibi tipik işlemler için 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 ilgili örnek yöntemini DirectoryInfo kullanmayı göz önünde bulundurun çünkü güvenlik denetimi her zaman gerekli olmayacaktır.

Dizinle ilgili tek 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.

Not

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 nitelikliyse 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. Buna ek olarak, bir yol veya yol 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 izin istemek 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 istemek için yol dizesini noktayla sonlandırın. (Örneğin, "C:\Temp\." alt dizinlerine değil yalnızca C:\Temp\ erişimi verir.)

Bir parametreyi kabul eden üyelerde, arama dizesi değişmez karakterlerin ve iki joker karakterin herhangi bir searchPattern 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.

Directory ve DirectoryInfo Windows Mağazası uygulamalarında kullanım için desteklenmez. Windows Mağazası uygulamalarında dosya ve klasörlere erişme hakkında bilgi için bkz . Verilere ve dosyalara erişme (Windows Mağazası uygulamaları).

Yöntemler

CreateDirectory(String)

Belirtilen yolda zaten varolmadıkları sürece tüm dizinleri ve alt dizinleri oluşturur.

CreateDirectory(String, DirectorySecurity)

Belirtilen yolda, belirtilen Windows güvenliğini uygulayarak, önceden mevcut olmadıkları sürece tüm dizinleri oluşturur.

CreateDirectory(String, UnixFileMode)

Belirtilen yolda belirtilen izinlere sahip tüm dizinleri ve alt dizinleri, önceden mevcut olmadıkları sürece 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 adlandırılmış, boş bir dizin oluşturur.

Delete(String)

Belirtilen yoldan boş bir dizini siler.

Delete(String, Boolean)

Belirtilen dizini ve belirtilmişse dizindeki tüm alt dizinleri ve dosyaları siler.

EnumerateDirectories(String)

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

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, String, EnumerationOptions)

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, SearchOption)

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

EnumerateFiles(String)

Belirtilen yolda tam dosya adlarından oluşan numaralandırılabilir 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, String, EnumerationOptions)

Belirtilen yoldaki bir 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 numaralandırılabilir bir koleksiyon döndürür.

EnumerateFileSystemEntries(String)

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

EnumerateFileSystemEntries(String, String)

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

EnumerateFileSystemEntries(String, String, EnumerationOptions)

Belirtilen yoldaki arama deseni ve numaralandırma seçenekleriyle eşleşen numaralandırılabilir bir dosya adları ve dizin adları koleksiyonu 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, listelenebilir bir dosya adları ve dizin adları koleksiyonu döndürür.

Exists(String)

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

GetAccessControl(String)

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

GetAccessControl(String, AccessControlSections)

Belirtilen dizin DirectorySecurity için belirtilen türdeki 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çimindeki oluşturma tarihini ve saatini alır.

GetCurrentDirectory()

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

GetDirectories(String)

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

GetDirectories(String, String)

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

GetDirectories(String, String, EnumerationOptions)

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

GetDirectories(String, String, SearchOption)

Belirtilen dizinde 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.

GetDirectoryRoot(String)

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

GetFiles(String)

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

GetFiles(String, String)

Belirtilen dizinde belirtilen arama deseni ile eşleşen dosyaların adlarını (yolları dahil) 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 dizinde belirtilen arama deseni ile eşleşen dosyaların (yolları dahil) adlarını döndürür.

GetFileSystemEntries(String)

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

GetFileSystemEntries(String, String)

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

GetFileSystemEntries(String, String, EnumerationOptions)

Belirtilen yoldaki arama deseni ve numaralandırma seçenekleriyle eşleşen dosya adları ve dizin adları dizisini 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 dizinlerde arama gerçekleştirir.

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şilen 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ı "<sürücü harfi>:\" biçiminde 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 denetim 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 en son erişilen tarihi ve saati ayarlar.

SetLastAccessTimeUtc(String, DateTime)

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

SetLastWriteTime(String, DateTime)

Bir dizinin son yazıldığı tarihi 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.