Wyszukiwanie plików z dużych katalogów

0

Witam serdecznie.
Mam problem z wyszukiwaniem plików w folderach. Mianowicie mam około 20 folderów. Każdy z nich posiada po około 10 000 plików. Chcę wyszukać pliku, który w nazwie będzie posiadał określony tekst. Np. wpisuję w nazwie "test" a on mi wyszukuje "costam_test_costam.jpg" czy "costestcos.doc". W C# robię to tak, iż pobieram wszystkie nazwy plików do tabeli oraz pętlą (if'em) sprawdzam czy plik zawiera czy nie. Jak się każdy domyśli - trwa to strasznie długo ;). W Total Comander radzę sobie tak, iż klikam CTRL i B - tutaj jest "zwiecha" na jakieś 5 sekund, po czym mogę wpisywać początek pliku i wyszukuje mi niemal natychmiastowo.
Może ktoś pomoże jak można to przyśpieszyć? Może jest jakiś inny sposób?

0

Poszukaj pod hasłem "Windows PowerShell" może będzie szybciej działać.

0

Pokaż kod, być może jest w nim jakieś wąskie gardło.

0

a string[] filePaths = Directory.GetFiles(@"c:\MyDir\", "*test*"); nie może być

0

http://www.pinvoke.net/default.aspx/kernel32.findfirstfile / http://www.pinvoke.net/default.aspx/kernel32.findnextfile.
pod NTFS masz indeksy umożliwiające bardzo szybkie wyszukiwanie plików o konkretnych nazwach. być może zadziałają one także dla masek, jeśli tak, to wyniki z tych metod będziesz mieć w ułamku sekundy.

1 użytkowników online, w tym zalogowanych: 0, gości: 1