2009-08-17 18 views

cevap

28

.NET 4.0'da yapabileceğiniz:

dir.Attributes.HasFlag(FileAttributes.Hidden) 
+0

HasFlags() yöntemi, .NET 4'e yeni bir eklentidir. Eski bitly karşılaştırmaya göre kullanmak daha kolaydır. – dthrasher

15

Attributes bir Flags değerdir Öznitelikler bir bayrak enum olduğu için bit maskesi kullanın. Birden çok değere sahip olabilir, bu nedenle gizli klasörler gizlenebilir VE başka bir bayrak. Yukarıdaki sözdizimi bunu doğru olarak kontrol edecektir.

+0

Tek sorun dizin gerçekten üzgünüm –

+1

gizli bunları ortadan kaldırmayacak şekilde _for_ gizli dizinleri aradılar düşünülmektedir rağmen ... hala geçiş yoluyla vardır. Kodun üstünde düzeltildi. – bdukes

36

Değiştir senin ifadesi eğer:

if ((dir.Attributes & FileAttributes.Hidden) != FileAttributes.Hidden) 

Sen gerek bunu FileAttributes.Hidden içeriyorsa böyle bir bit düzeyinde karşılaştırma kullanarak kontrol etmeniz gerekir böylece

2
Bu kod VB.Net'te benim için çalışıyor

; Yukarıda değerlendirmek çalıştığınızda

If (dir.Attributes.Tostring.Contains("Hidden") Then 
    ' File is hidden 
Else 
    ' File is not hidden 
EndIf 
İlgili konular