Directory 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 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.
Dizin oluşturmak için yöntemlerden CreateDirectory birini kullanın.
Bir dizini silmek için yöntemlerden Delete birini kullanın.
Bir uygulamanın geçerli dizinini almak veya ayarlamak için veya SetCurrentDirectory yöntemini kullanınGetCurrentDirectory.
Bir dizinin oluşturulması, erişimi ve yazılmasıyla ilgili bilgileri işlemek DateTime için ve SetCreationTimegibi SetLastAccessTime yöntemleri 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 |
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. |