Dir İşlevi

Uygulandığı Öğe
Microsoft 365 için Access Access 2024 Access 2021 Access 2019 Access 2016

Not

Microsoft Jet İfade Hizmeti korumalı alan modunda çalışıyorsa, bu konuda açıklanan işlev, yöntem, nesne veya özellik devre dışı bırakılır ve bu da güvenli olmayabilecek ifadelerin değerlendirilmesini engeller. Korumalı alan modu hakkında daha fazla bilgi için, Yardım'da "korumalı alan modu" araması yapın.

Belirtilen bir desen veya dosya özniteliğiyle eşleşen bir dosyanın, dizinin veya klasörün adını veya bir sürücünün birim etiketini temsil eden bir Dize döndürür.

Söz dizimi

Dir[(yoladı [, öznitelikler] )]

Dir işlevinin söz diziminde aşağıdaki bağımsız değişkenler bulunur:

Bağımsız değişken Açıklama
yol adı İsteğe bağlı. Bir dosya adı belirten dize ifadesi — dizin veya klasör ve sürücü içerebilir. Yol adı bulunamazsa sıfır uzunluklu bir dize ("") döndürülür.
öznitelikler İsteğe bağlı. Toplamı dosya özniteliklerini belirten sabit veya sayısal ifade. Atlanırsa, yol adıyla eşleşen ancak öznitelikleri olmayan dosyaları döndürür.

    

Ayarlar

Özniteliklerbağımsız değişken ayarları şunlardır:

Sabit Değer Açıklama
vbNormal 0 (Varsayılan) Özniteliği olmayan dosyaları belirtir.
vbReadOnly 1 Salt okunur dosyaların yanı sıra özniteliği olmayan dosyaları da belirtir.
vbHidden 2 Özniteliği olmayan dosyalara ek olarak gizli dosyaları belirtir.
Vb Sistemi 4 Öznitelikleri olmayan dosyalara ek olarak sistem dosyalarını belirtir. Macintosh'ta mevcut değildir.
vbVolume 8 Hacim etiketini belirtir; Başka bir öznitelik belirtilirse, vbVolume yok sayılır. Macintosh'ta mevcut değildir.
vbDirectory 16 Öznitelikleri olmayan dosyalara ek olarak dizinleri veya klasörleri belirtir.
vbDiğer Adı 64 Belirtilen dosya adı bir diğer addır. Yalnızca Macintosh'ta kullanılabilir.

    

Not

Bu sabitler Visual Basic for ApplicationsVisual Basic for Applications (VBA) tarafından belirtilir ve kodunuzda gerçek değerlerin yerine herhangi bir yerde kullanılabilir.

Açıklamalar

Microsoft Windows'ta Dir birden çok dosya belirtmek için birden çok karakterli (*) ve tek karakterli (?) joker karakter kullanımını destekler. Macintosh'ta bu karakterler geçerli dosya adı karakterleri olarak kabul edilir ve birden çok dosya belirtmek için joker karakter olarak kullanılamaz.

Macintosh joker karakterleri desteklemediğinden, dosya gruplarını tanımlamak için dosya türünü kullanın. Dosya adlarını kullanmak yerine dosya türünü belirtmek için MacID işlevini kullanabilirsiniz. Örneğin, aşağıdaki deyim geçerli klasördeki ilk TEXT dosyasının adını döndürür:

Dir("SomePath", MacID("TEXT"))

Klasördeki tüm dosyalar üzerinde yineleme yapmak için boş bir dize belirtin:

Dir("")

Windows'ta MacID işlevini Dir ile kullanırsanız bir hata oluşur.

256'dan büyük olan tüm öznitelik değerleri MacID değeri olarak kabul edilir.

Dir işlevini ilk kez çağırdığınızda yol adını belirtmeniz gerekir, aksi takdirde bir hata oluşur. Dosya öznitelikleri de belirtirseniz, yol adının da eklenmesi gerekir.

Dir , yol adıyla eşleşen ilk dosya adını döndürür. Yol adıyla eşleşen ek dosya adları almak için, Dir öğesini bağımsız değişken olmadan yeniden çağırın. Başka dosya adı eşleşmediğinde, Dir sıfır uzunlukta bir dize ("") döndürür. Sıfır uzunluklu bir dize döndürüldüğünde, sonraki çağrılarda yol adını belirtmeniz gerekir, aksi takdirde bir hata oluşur. Geçerli yol adıyla eşleşen tüm dosya adlarını almadan yeni bir yol adına geçebilirsiniz. Ancak, Dir işlevini yinelemeli olarak çağıramazsınız. vbDirectory özniteliğiyle Dir'i çağırmak, sürekli olarak alt dizinleri döndürmez.

İpucu Dosya adları belirli bir sırada alınmadığından, döndürülen dosya adlarını bir dizide depolamak ve sonra diziyi sıralamak isteyebilirsiniz.

Örnek

Not

Aşağıdaki örneklerde, bu işlevin Visual Basic for Applications (VBA) modülünde kullanımı gösterilir. VBA ile çalışma hakkında daha fazla bilgi için, rama'nın yanındaki açılan listede Geliştirici Başvurusu'nu seçin ve arama kutusuna bir veya birden çok terim yazın.

Bu örnekte, belirli dosya ve dizinlerin mevcut olup olmadığını denetlemek için Dir işlevi kullanılmıştır. Macintosh'ta, "HD:" varsayılan sürücü adıdır ve yol adının bazı kısımları ters eğik çizgi yerine iki nokta üst üste ile ayrılmıştır. Ayrıca, Windows joker karakterleri Macintosh'ta geçerli dosya adı karakterleri olarak kabul edilir. Bununla birlikte, dosya gruplarını belirtmek için MacID işlevini kullanabilirsiniz.

Dim MyFile, MyPath, MyName
' Returns "WIN.INI" (on Microsoft Windows) if it exists.
MyFile = Dir("C:\WINDOWS\WIN.INI")    
' Returns filename with specified extension. If more than one *.ini
' file exists, the first file found is returned.
MyFile = Dir("C:\WINDOWS\*.INI")
' Call Dir again without arguments to return the next *.INI file in the 
' same directory.
MyFile = Dir
' Return first *.TXT file with a set hidden attribute.
MyFile = Dir("*.TXT", vbHidden)
' Display the names in C:\ that represent directories.
MyPath = "c:\"    ' Set the path.
MyName = Dir(MyPath, vbDirectory)    ' Retrieve the first entry.
Do While MyName <> ""    ' Start the loop.
    ' Ignore the current directory and the encompassing directory.
    If MyName <> "." And MyName <> ".." Then
        ' Use bitwise comparison to make sure MyName is a directory.
        If (GetAttr(MyPath & MyName) And vbDirectory) = vbDirectory Then
            Debug.Print MyName    ' Display entry only if it
        End If    ' it represents a directory.
    End If
    MyName = Dir    ' Get next entry.
Loop