En iyi yanıtlayıcılar
Dosya arama (Sistem dosyalarında hata)

Soru
-
Merhaba,
var files = Directory.GetFiles(lblBootDizini.Text.Substring(0, 3), "*.*", SearchOption.AllDirectories) // Örnek DosyaYolu = "D:\" .Where(s => s.EndsWith("grub.exe"));
Bu kod ile seçilen dizinde belirttiğim dosyayı arattırıyorum.
Ancak dizinde sistem klasörleri (System Volume Information) olduğunda erişim hatası veriyor.
Bu kod üzerinde (System Volume Information) klasörünü taramaması için nasıl bir düzeltme yapmam gerekiyor?
Yardımlarınızı rica ediyorum.
Teşekkürler.
Verilen hata görüntüsü aşağıda.
Faruk GÖKÇE
- Düzenleyen Faruk GÖKÇE 9 Ekim 2019 Çarşamba 10:59
Yanıtlar
-
Söyle yapabilirsin:
void Main() { var bulunanlar = Ara(@"c:\", "*grub.exe"); Console.WriteLine("Bulunanlar"); foreach (var filename in bulunanlar) { Console.WriteLine(filename); } } public IEnumerable<string> Ara(string startFolder, string skeleton) { List<string> files = new List<string>(); new DirectoryInfo(startFolder).GetDirectories().AsParallel().ForAll(directory => { try { files.AddRange(directory.GetFiles(skeleton, SearchOption.AllDirectories) .Select(file => file.FullName)); } catch (Exception ex) { Console.WriteLine(ex.Message); } }); return files; }
Tabii gercekten iyi ve hızlı bir sey istiyorsan, voidtools'dan Everything alıp kullanmakta fayda var (yani herkesin taskbarinda olması gereken bir sey bence)
How to create a Minimal, Reproducible Example
The way to Go.
World's most advanced open source (object-) relational Database.
Flutter (for mobile, for web & desktop.- Yanıt Olarak İşaretleyen Faruk GÖKÇE 9 Ekim 2019 Çarşamba 13:32
Tüm Yanıtlar
-
Söyle yapabilirsin:
void Main() { var bulunanlar = Ara(@"c:\", "*grub.exe"); Console.WriteLine("Bulunanlar"); foreach (var filename in bulunanlar) { Console.WriteLine(filename); } } public IEnumerable<string> Ara(string startFolder, string skeleton) { List<string> files = new List<string>(); new DirectoryInfo(startFolder).GetDirectories().AsParallel().ForAll(directory => { try { files.AddRange(directory.GetFiles(skeleton, SearchOption.AllDirectories) .Select(file => file.FullName)); } catch (Exception ex) { Console.WriteLine(ex.Message); } }); return files; }
Tabii gercekten iyi ve hızlı bir sey istiyorsan, voidtools'dan Everything alıp kullanmakta fayda var (yani herkesin taskbarinda olması gereken bir sey bence)
How to create a Minimal, Reproducible Example
The way to Go.
World's most advanced open source (object-) relational Database.
Flutter (for mobile, for web & desktop.- Yanıt Olarak İşaretleyen Faruk GÖKÇE 9 Ekim 2019 Çarşamba 13:32
-
Söyle yapabilirsin:
void Main() { var bulunanlar = Ara(@"c:\", "*grub.exe"); Console.WriteLine("Bulunanlar"); foreach (var filename in bulunanlar) { Console.WriteLine(filename); } } public IEnumerable<string> Ara(string startFolder, string skeleton) { List<string> files = new List<string>(); new DirectoryInfo(startFolder).GetDirectories().AsParallel().ForAll(directory => { try { files.AddRange(directory.GetFiles(skeleton, SearchOption.AllDirectories) .Select(file => file.FullName)); } catch (Exception ex) { Console.WriteLine(ex.Message); } }); return files; }
Tabii gercekten iyi ve hızlı bir sey istiyorsan, voidtools'dan Everything alıp kullanmakta fayda var (yani herkesin taskbarinda olması gereken bir sey bence)
How to create a Minimal, Reproducible Example
The way to Go.
World's most advanced open source (object-) relational Database.
Flutter (for mobile, for web & desktop.
Çetin hocam çok teşekkür ederim.
Yukarıdaki kodlarla işimi görüyordum ancak sistem dosyası engeline takılınca başka yol bulmam gerekti. Sizin verdiğiniz metotla hata almadan aradığımı hızlıca bulup işlem yapabildim.
Tekrar teşekkürler.
Faruk G&amp;#214;K&amp;#199;E